應用獨特的選擇我有類似下面的表格: -如何在MySQL的只是一列
Table: deals +----+-------+----------+----------+------------+ | ID | name | latitude | longitude| end_date | |----+-------+----------+----------+------------+ | 1 | pizza | 10.5 | -10.5 | 2012-12-12 | | 2 | pizza | 11.5 | -10.5 | 2012-12-12 | | 3 | jelly | 21.5 | -10.5 | 2012-12-12 | | 4 | jelly | 23.5 | -10.5 | 2012-12-12 | | 5 | lily | 19.5 | -10.5 | 2012-12-12 | +----+-------+----------+----------+------------+
我使用的latitude
和longitude
找到該人的距離。但我需要的結果是DISTINCT
根據name
。我還需要根據我計算的距離對結果進行排序並應用極限值0,3。
我目前使用的查詢是「 -
SELECT *,
(6371 * Acos(Cos(Radians(9.939625)) * Cos(Radians(lat)) * Cos(
Radians(lng) - Radians(76.259498)) +
Sin(Radians(9.939625)) * Sin(Radians(lat)))) AS
distance
FROM deals
WHERE 1
AND end_date >= Now()
HAVING distance < 20000
ORDER BY id DESC,
distance
LIMIT 0, 3;
因此,在短期,我需要的是: -
- 名單的最近交易(按距離排序)
- 應用不同於
name
(以便披薩和果凍只會出現一次)
在可用的2個距離中,您需要距離最短的名稱。是對的嗎? –
是的,正確的。首先需要顯示最近的一個。 – Sparky