gpt4 book ai didi

sql - SQL中count(column)和count(*)有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:10:17 25 4
gpt4 key购买 nike

我有以下查询:

select column_name, count(column_name)
from table
group by column_name
having count(column_name) > 1;

如果我将对 count(column_name) 的所有调用替换为 count(*),会有什么区别?

这个问题的灵感来自How do I find duplicate values in a table in Oracle? .

<小时/>

为了澄清接受的答案(也许是我的问题),将 count(column_name) 替换为 count(*) 将在结果中返回一个额外的行,其中包含null 以及列中 null 值的计数。

最佳答案

count(*) 计算 NULL,而 count(column) 不计算

[编辑]添加了此代码以便人们可以运行它

create table #bla(id int,id2 int)
insert #bla values(null,null)
insert #bla values(1,null)
insert #bla values(null,1)
insert #bla values(1,null)
insert #bla values(null,1)
insert #bla values(1,null)
insert #bla values(null,null)

select count(*),count(id),count(id2)
from #bla

结果7 3 2

关于sql - SQL中count(column)和count(*)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com