count(*) vs count(id)

Поиск
Список
Период
Сортировка
От Matt Zagrabelny
Тема count(*) vs count(id)
Дата
Msg-id CAOLfK3VWa_Mv3OSumvpHZdppd+qDj8EUWCdxY5+vUe=gAo+h0A@mail.gmail.com
обсуждение исходный текст
Ответы Re: count(*) vs count(id)  (Rob Sargent <robjsargent@gmail.com>)
Список pgsql-general
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

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: permission denied for large object 200936761
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: count(*) vs count(id)