В условиях 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

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

4.8 GROUP BY по нескольким выражениям

4.10 HAVING