Работает ли HAVING для каждого ряда или группы? - PullRequest
0 голосов
/ 22 ноября 2018

Работает ли предложение HAVING в SQL для каждой строки или группы?

То есть удаляет ли отдельные строки, которые не соответствуют указанному ограничению?

Или он удаляет только целые группы, которые не соответствуют указанному ограничению?

1 Ответ

0 голосов
/ 22 ноября 2018

HAVING фильтрует результаты после GROUP BY.Следовательно, он фильтрует по одной строке на группу.

У HAVING могут быть выражения агрегации, которых нет в SELECT.Они неявно включены в агрегирование, хотя их нет в наборе результатов.

MySQL расширяет предложение HAVING.Когда нет агрегации, он ведет себя как WHERE, за исключением того, что допускает псевдонимы столбцов.

MySQL также расширяет GROUP BY, чтобы включать неагрегированные столбцы.Вы можете думать о них как о функции агрегирования ANY(), которая возвращает значение для этого выражения из любой строки в группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...