問題:找到最近的酒吧,供應我正在尋找的飲品。尋找飲料時尋找最近的酒吧
在這裏你可以找到生成的MySQL代碼http://pastebin.com/5Uc2ewUW
API請求與這個問題相互作用將這些參數
query, String, ideally the drink name
lng, double, the starting longitude
lat, double, the starting latitude
range, integer, max distance in meters (with a default value)
查詢參數可以選擇多個飲料(想想尋找「伏特加」)。
編寫一個性能良好的SQL查詢將會是一個好策略嗎?
我不是很專業,但我的想法是
- 從drink__bars範圍
- 選擇選擇酒吧,在那裏bar_id是在前面的選擇結果
- JOIN飲料表獲得飲料數據
如何根據距離設置訂單?
任何建議表示讚賞!
編輯:感謝迄今爲止的答案,但他們主要側重於計算距離,這是涵蓋。 我沒有得到如何根據距離我從酒吧訂購結果(即飲料)。
這樣想着元查詢
SELECT drink.id, drink.name
FROM $DATA_POOL
WHERE drink.name LIKE '%MY_QUERY%'
ORDER BY $ORDER
其中
$DATA_POOL
=飲料的子集,是在我附近酒吧服務器(我已經能夠計算其酒吧靠近我)$ORDER
=我從酒吧得到的距離,基於API參數lng
和lat
的[計算距離的2 GPS座標(http://stackoverflow.com/questions/365826/calculate-distance可能重複之間2 gps座標) – Bulat 2014-09-02 10:26:59
謝謝@Bulat我有更新的問題! – 2014-09-02 10:34:11
@TheChaos的答案適合你嗎? – Bulat 2014-09-02 11:07:36