From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Matt Zagrabelny <mzagrabe(at)d(dot)umn(dot)edu> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Rob Sargent <robjsargent(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: count(*) vs count(id) |
Date: | 2021-02-02 01:19:31 |
Message-ID: | CAECtzeVpR8yvP+S3J++MEJ7dsmsiEX2kxToBmHdJrrXz+zxzpQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Le mar. 2 févr. 2021 à 02:14, Matt Zagrabelny <mzagrabe(at)d(dot)umn(dot)edu> a écrit :
>
>
> On Mon, Feb 1, 2021 at 6:35 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>> Matt Zagrabelny <mzagrabe(at)d(dot)umn(dot)edu> writes:
>> > On Mon, Feb 1, 2021 at 5:57 PM Rob Sargent <robjsargent(at)gmail(dot)com>
>> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2021-02-02 01:36:57 | Re: ransomware |
Previous Message | aNullValue (Drew Stemen) | 2021-02-02 01:17:50 | Re: count(*) vs count(id) |