Я не могу выполнить ни один запрос как есть - они выдают мне ошибку 1140 за «использование агрегата без предложения GROUP BY» (IE: COUNT(field.id)
).Кажется, что все совсем не относится к агрегату, только возможность ссылаться на псевдоним столбца для сравнения ...
Наиболее широко поддерживаемые средства:
SELECT field.id * 10 AS foo
FROM table
WHERE field.id * 10 > 100
MySQL поддерживает ссылкипсевдоним столбца в предложении GROUP BY
или HAVING
.Для этого не требуется использование обратных кавычек, но я видел случаи, которые не работали (незарезервированные слова), пока не присутствовали обратные кавычки:
SELECT field.id * 10 AS foo
FROM table
HAVING `foo` > 100
Я не рекомендую такой подход - он поддерживается в SQLСервер, но не Oracle ...
Предложение HAVING
похоже на предложение WHERE
, отличие состоит в том, что предложение HAVING
поддерживает агрегатные функции без необходимости их переноса в подзапрос.