Агрегатные функции

NULL значения в GROUP BY

В условиях WHERE два NULL значения считаются различными. Но при группировке строк GROUP BY NULL значения считаются идентичными и объединяются в одну группу (как и при исключении повторяющихся строк DISTINCT).

Подсчитаем количество использований номеров телефонов в магазинах:

SELECT phone, count (*)
  FROM store_address
 GROUP BY phone
phonecount
NULL3
7(347)668‒56‒661
7(385)777‒77‒071
7(495)312‒03‒083
7(812)700‒03‒031
......

В таблице store_address для трех адресов магазинов не указан номер телефона. Поэтому в результате мы видим строку

phonecount
NULL3

Если бы NULL значения в GROUP BY считались различными, то мы бы получили вот такой результат:

phonecount
NULL1
NULL1
NULL1

Что неудобно для проведения аналитики.

ПредыдущаяСледующая