2011-12-21 48 views
1

我正在爲我的數據編寫使用Google Fusion Tables的移動網頁,我需要同時使用ORDER BY(lat和long)以及GROUP BY(代替DISTINCT - GFT不支持)。Google Fusion Tables同一查詢中的SQL查詢ORDER BY和GROUP BY不起作用

但是,看起來兩人在一起打得不好。如果我使用GROUP BY,則該陳述似乎完全忽略了ORDER BY

SQL語句:

SELECT Count(), Facility_Name FROM 2206340 GROUP BY Facility_Name 
ORDER BY ST_DISTANCE(Lat, LATLNG(" + lat + "," + lng + "))LIMIT 10 

有沒有其他人遇到這種情況?

回答

0

您不能通過未包含在select/group by子句中的列進行排序(除非使用聚合函數)

+0

含義是什麼?我正在使用COUNT()... – AliCat 2011-12-22 00:30:25

+0

因此,您使用ST_DISTANCE()來查找從預定義點到可以計算每行不同距離的設施的距離(如果您有兩個具有相同名稱的設施)。 如果你做了MAX(ST_DISTANCE(Lat,LATLNG(「+ lat +」,「+ lng +」))),它會起作用(假設你想按最大距離排序) – 2011-12-22 00:36:22

+0

你也可以添加ST_DISTANCE Lat,LATLNG(「+ lat +」,「+ lng +」))到你的select和group by子句,你會得到你想要的結果。 – 2011-12-22 00:39:19