In SQL, what's the difference between count(column) and count(*)? -
i have following query:
select column_name, count(column_name) table group column_name having count(column_name) > 1; what difference if replaced calls count(column_name) count(*)?
this question inspired how find duplicate values in table in oracle?.
to clarify accepted answer (and maybe question), replacing count(column_name) count(*) return row in result contains null , count of null values in column.
count(*) counts nulls , count(column) not
[edit] added code people can run it
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) #bla results 7 3 2
Comments
Post a Comment