问题:找到最近的酒吧,供应我正在寻找的饮品。寻找饮料时寻找最近的酒吧
在这里你可以找到生成的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