我有一個查詢,選擇一個GPS英里半徑30英里內的所有位置。我想獲取這些位置的ID,但它也會返回距離中心點的距離。SQL查詢和計算;正確格式化查詢以選擇唯一ID
無論如何要執行距離計算而不返回它嗎?
查詢:
SELECT id, 3956 * 2 * ASIN(SQRT(
POWER(SIN((34.1844709 - abs(dest.lat)) * pi()/180/2),
2) + COS(37.7749295 * pi()/180) * COS(abs(dest.lat) *
pi()/180) * POWER(SIN((-118.131809 - dest.lng) *
pi()/180/2), 2))) as distance
FROM location dest
having distance < 30
ORDER by distance
LIMIT 30
輸出:基於
---------------------------
id | distance
---------------------------
1 | 2.310
2 | 2.356
17 | 4.298
查詢關: http://www.notaires.fr/sites/default/files/geo_searchjkkjkj_0.pdf
是,剛剛過去的計算,而不是別名'distance' –
@juergend當然,你必須把計算入'ORDER BY'條款,以及如果你這樣做。將這個包裝在僅查詢該結果集的「id」列的外部查詢中可能更有意義。 –