2011-12-21 2 views
1

Я пишу мобильную веб-страницу с помощью Google Fusion Tables для своих данных, и мне нужно использовать как ORDER BY (lat, так и long), а также GROUP BY (вместо DISTINCT - который GFT не поддерживает).Таблицы Google Fusion 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

Вы не можете заказать по столбцу, который не входит в группу выберите/пунктом (если не использовать агрегатную функцию)

+0

Что это значит? Я использую COUNT() ... – AliCat

+0

Итак, вы используете ST_DISTANCE(), чтобы найти расстояние от вашей предопределенной точки до объекта, который может рассчитать разные расстояния для каждой строки (если у вас есть 2 объекта с тем же именем). Если вы сделали что-то вроде MAX (ST_DISTANCE (Lat, LATLNG («+ lat +», «+ lng +»))), он будет работать (если вы хотите заказать на максимальном расстоянии) –

+0

Вы также можете добавить ST_DISTANCE (Lat, LATLNG («+ lat +», «+ lng +»)) к вашему предложению select и group by, и вы получите результаты, которые вам нужны. –