为什么 Postgres Group By NULL select 不计数?
我试图使用以下 SQL 获取表中每个值的计数:(
SELECT col, COUNT(col)
FROM table
GROUP BY col
实际代码中有一个 WHERE 子句,但它没有影响)。
当我运行这个程序时,我得到如下结果:
a - 5
b - 4
<null> - 0
无论我有多少个空条目,它总是显示计数为 0。
有什么想法吗?
I am trying to get a count of each value in a table using the following SQL:
SELECT col, COUNT(col)
FROM table
GROUP BY col
(There's a WHERE clause in the real code, but it has no impact).
When I run this I get results like so:
a - 5
b - 4
<null> - 0
It doesn't matter how many null entries I have, it always shows a count of 0.
Any ideas why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
想通了。
更改了代码以使用 COUNT(*) 而不是 COUNT(col)。
COUNT(col) 不计算任何空行,所有其他聚合方法也会从结果集中消除空值。
Figured it out.
Changed the code to use COUNT(*) instead of COUNT(col).
COUNT(col) was not counting any null rows, all other aggregation methods also eliminate nulls from the result set.