2009-09-22 3 views
1

При выполнении в ONLY_FULL_GROUP_BY режима, я получаю ошибку «не группирование поля„расстояние“используется в HAVING положения» при выполнении следующего запроса. Запрос подсчитывает количество отелей, которые находятся на расстоянии 15 км от определенной широты & долготы. Есть ли способ переписать этот запрос, чтобы я больше не получал ошибку в ONLY_FULL_GROUP_BY режиме?Как уйти с не-группированием поля в HAVING положения

SELECT count(id) as total, (foo * 100) AS 'distance' 
FROM `hotels` 
WHERE `lng` between 4.56 and 5.08 and `lat` between 52.22 and 52.65 
HAVING `distance` < 15 

ответ

0

Изменения HAVING к дополнительному ИНЕКЕ:

WHERE `lng` BETWEEN 4.56 AND 5.08 AND `lat` BETWEEN 52.22 AND 52.65 
AND `distance` < 15 

Я не уверен, если MySQL поддерживает использование имени столбца в псевдониме предложение WHERE (distance в данном случае). Если нет, просто измените его на:

AND (foo * 100) < 15 
+0

MySQL не поддерживает использование псевдонима столбца в ГДЕ. – user2045006