Re: count(*) vs count(id) - Mailing list pgsql-general

From Rob Sargent
Subject Re: count(*) vs count(id)
Date
Msg-id cb465259-e29a-8fc2-1890-2666b8d79f36@gmail.com
Whole thread Raw
In response to count(*) vs count(id)  (Matt Zagrabelny <mzagrabe@d.umn.edu>)
Responses Re: count(*) vs count(id)  (Matt Zagrabelny <mzagrabe@d.umn.edu>)
List pgsql-general

On 2/1/21 4:53 PM, Matt Zagrabelny wrote:
> Greetings,
> 
> Is there a preferred method of counting rows?
> 
> count(*) vs count(field_name)
> 
> I have used count(*) for a long time and am hitting an inconsistency. At 
> least it is an inconsistency to me (I'm sure there is an explanation)...
> 
> INCORRECT OUTPUT (not desired results)
> $ select calendar.entry, count(*)  from 
> generate_series('2020-01-01'::date, '2021-01-10'::date, '1 
> day'::interval) as calendar(entry) left join call_records on 
> calendar.entry = call_records.timestamp::date group by calendar.entry;
> [...]
>   2020-08-30 00:00:00-05 │     1
>   2020-08-31 00:00:00-05 │     1
> [...]
> 
> CORRECT OUTPUT (desired results)
> $ select calendar.entry, count(id)  from 
> generate_series('2020-01-01'::date, '2021-01-10'::date, '1 
> day'::interval) as calendar(entry) left join call_records on 
> calendar.entry = call_records.timestamp::date group by calendar.entry;
> [...]
>   2020-08-30 00:00:00-05 │     0
>   2020-08-31 00:00:00-05 │     0
> [...]
> 
> What am I missing between count(*) and count(id)?
> 
> Thanks for any help!
> 
> -m

You got one null from count(*) likely.



pgsql-general by date:

Previous
From: Matt Zagrabelny
Date:
Subject: count(*) vs count(id)
Next
From: Matt Zagrabelny
Date:
Subject: Re: count(*) vs count(id)