Нулевые строки не учитываются в запросе - PullRequest
1 голос
/ 30 мая 2011
SELECT User, COUNT(User) as count FROM Tests GROUP by User;

Это работает.Однако, если некоторые пользовательские строки содержат нулевые значения, я получаю следующее:

User    count
        0
u1      5
u2      3
u3      9

Как видите, строки с нулевыми значениями показывают 0, но на самом деле это не ноль.

SELECT* ОТ тестов, ГДЕ IsNull (пользователь) показывает ненулевое фактическое значение.Это заставляет меня думать, что мне следует изменить исходный запрос, чтобы нулевой пользователь был правильно учтен.

1 Ответ

6 голосов
/ 30 мая 2011

Используйте COUNT(*) вместо:

  SELECT User, COUNT(*) AS count 
    FROM Tests 
GROUP BY User;

Из документации :

СИНТАКСИС
Количество (expr)

Функция Count не считает записи, которые имеют нулевые поля, если expr - подстановочный знак звездочки (*) персонаж . Если вы используете звездочку, Count рассчитывает общее количество записи, в том числе те, которые содержат Нулевые поля. Count(*) значительно быстрее Count([Column Name]).

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