Как подсчитать количество строк со значением NULL в GROUP BY (T-SQL)? - CodeHelper

Как подсчитать количество строк со значением NULL в GROUP BY (T-SQL)?

1

Есть таблица [user] с пользователями. В этой таблице есть колонка [status], которая хранит текстовый статус пользователя (может равняться NULL). Требуется подсчитать количество пользователей для каждого статуса. Делаю это так:

SELECT [status], COUNT([status]) as users_count
FROM [users]
GROUP BY [status]

Проблема в том, что нужно также узнать количетсво пользователей, у которых [status] IS NULL. А приведенный запрос всегда возвращает 0, хотя в таблице есть строки с незаполненным статусом:

status   | users_count
----------------------
NULL     | 0            ← тут всегда 0
status1  | 13
status2  | 21

Такое ощущение, что строки со значением NULL игнорируются при подсчете count.

Новые ответы


0

Так должно работать

SELECT [status], COUNT(*) as users_count
FROM [users]
GROUP BY [status]
Sergey

Так ответили уже так)

0

Ну вообще COUNT возвращает количество не NULL значение, поэтому он возвращает 0 для NULL.

Как решение проблемы, использовать COUNT(*).


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.