gpt4 book ai didi

mysql - 将两个查询组合成单半径搜索以进行映射

转载 作者:行者123 更新时间:2023-11-29 23:19:10 26 4
gpt4 key购买 nike

如果可能的话,我需要一些帮助将这些查询合并为一个。用户将在 from 中输入邮政编码。返回应该是邮政编码和距离。

表结构:

邮政编码 |状态|纬度 |经度

SELECT latitude,
longitude
INTO @latitude, @longitude
FROM zipcodes
WHERE `zipcode` = 36101
LIMIT 1;

SELECT zipcode,
( 3959 * Acos(Cos(Radians(@latitude)) * Cos(Radians(latitude)) * Cos(
Radians(longitude) - Radians(@longitude)) +
Sin(Radians(@latitude)) * Sin(Radians(latitude)))
) AS
distance
FROM zipcodes
HAVING distance < 10
ORDER BY distance

我的解决方案我最终将这些作为两个单独的查询进行。

最佳答案

如果您可以尝试以下方法:

SELECT zipcode,
( 3959 * Acos(Cos(Radians(A.sel_latitude)) * Cos(Radians(latitude)) * Cos(
Radians(longitude) - Radians(A.sel_longitude)) +
Sin(Radians(A.sel_latitude)) * Sin(Radians(latitude)))
) AS
distance
FROM
zipcodes,
(
SELECT
sel_latitude,
sel_longitude
FROM
zipcodes
WHERE
`zipcode` = 36101
LIMIT 1
) AS A
HAVING distance < 10
ORDER BY distance;

希望它能在某种程度上有所帮助

关于mysql - 将两个查询组合成单半径搜索以进行映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27483386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com