COUNT(*)与COUNT(列名)的区别
以前一直没有留意到COUNT(*)与COUNT(列名)的区别,昨天晚上无意中看到数据库系统工程师教程里面的一句话."如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null."
这句话的意思说如果字段是有空值的话,你用SUM去计算,得到的结果有可能不准确.
看一个实例.
表A
ID EE
1 e
2 null
select count(*) from A --结果是2
select count(EE) from A ---结果是1
常见的还有count(1),具体表示什么意思,与count(列名)/count(*)有何区别,本人也不清楚, 望各位朋友指教,谢谢
这句话的意思说如果字段是有空值的话,你用SUM去计算,得到的结果有可能不准确.
看一个实例.
表A
ID EE
1 e
2 null
select count(*) from A --结果是2
select count(EE) from A ---结果是1
常见的还有count(1),具体表示什么意思,与count(列名)/count(*)有何区别,本人也不清楚, 望各位朋友指教,谢谢
本文详细解释了SQL中COUNT(*)与COUNT(列名)的区别,特别是当数据集中存在NULL值时,如何正确使用这些函数以避免误导性的统计数据。通过实例展示了COUNT(1)与其他函数的相似性与差异,并强调了理解这些差异对于编写准确、高效的SQL查询的重要性。
6471

被折叠的 条评论
为什么被折叠?



