В условиях WHERE
два NULL
значения считаются различными. Но при группировке строк GROUP BY
NULL
значения считаются идентичными и объединяются в одну группу (как и при исключении повторяющихся строк DISTINCT
).
Подсчитаем количество использований номеров телефонов в магазинах:
SELECT phone, count (*)
FROM store_address
GROUP BY phone
phone | count |
---|---|
NULL | 3 |
7(347)668‒56‒66 | 1 |
7(385)777‒77‒07 | 1 |
7(495)312‒03‒08 | 3 |
7(812)700‒03‒03 | 1 |
... | ... |
В таблице store_address
для трех адресов магазинов не указан номер телефона. Поэтому в результате мы видим строку
phone | count |
---|---|
NULL | 3 |
Если бы NULL
значения в GROUP BY
считались различными, то мы бы получили вот такой результат:
phone | count |
---|---|
NULL | 1 |
NULL | 1 |
NULL | 1 |
Что неудобно для проведения аналитики.