SELECT User, COUNT(User) as count FROM Tests GROUP by User;
这很有效。但是,如果某些用户行包含空值,我会得到以下内容:
User count
0
u1 5
u2 3
u3 9
如您所见,空值行显示0计数,但是,它实际上不是零。
SELECT * FROM Tests WHERE IsNull(User)显示非零实际值。 这让我觉得我应该更改我的原始查询,以便用户将被正确计算。
答案 0 :(得分:6)
改为使用COUNT(*)
:
SELECT User, COUNT(*) AS count
FROM Tests
GROUP BY User;
<强>语法强>
Count(expr)计数功能不计算在内 除非有Null字段的记录 expr是星号(
*
)通配符 性格。如果使用星号, Count计算总数 记录,包括那些包含的记录 空领域。Count(
*)
非常重要 快于Count([Column Name])
。