Search Postgresql Archives

Re: count(*) vs count(id)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le mar. 2 févr. 2021 à 02:14, Matt Zagrabelny <mzagrabe@xxxxxxxxx> a écrit :


On Mon, Feb 1, 2021 at 6:35 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Matt Zagrabelny <mzagrabe@xxxxxxxxx> writes:
> On Mon, Feb 1, 2021 at 5:57 PM Rob Sargent <robjsargent@xxxxxxxxx> wrote:
>> You got one null from count(*) likely.

> What is count(*) counting then? I thought it was rows.

Yeah, but count(id) only counts rows where id isn't null.

I guess I'm still not understanding it...

I don't have any rows where id is null:

$ select count(*) from call_records where id is null;
 count
═══════
     0
(1 row)

Time: 0.834 ms
$

select count(id) from call_records where id is null;
 count
═══════
     0
(1 row)

Time: 0.673 ms

Which field is count(*) counting if it is counting nulls?

You're doing a left join, so I guess there's no row where call_records.timestamp::date = 2020-08-30. That would result with a NULL id.

Guillaume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux