| From: | Rob Sargent <robjsargent(at)gmail(dot)com> |
|---|---|
| To: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: count(*) vs count(id) |
| Date: | 2021-02-01 23:55:05 |
| Message-ID: | cb465259-e29a-8fc2-1890-2666b8d79f36@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Matt Zagrabelny | 2021-02-02 00:32:18 | Re: count(*) vs count(id) |
| Previous Message | Matt Zagrabelny | 2021-02-01 23:53:08 | count(*) vs count(id) |