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(*)有何区别,本人也不清楚, 望各位朋友指教,谢谢