Re: Extract only maximum date from column

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Rich Shepard <rshepard@appl-ecosys.com>
Cc: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Date: 2025-12-04T22:29:04Z
Lists: pgsql-general
On Thursday, December 4, 2025, Rich Shepard <rshepard@appl-ecosys.com>
wrote:

> On Thu, 4 Dec 2025, David G. Johnston wrote:
>
> As mentioned, the aggregate max should be avoided - you aren’t doing
>> statistics, you are ranking.
>>
>
> David,
>
> Got it.
>
> Select person.*, lastcontact.* from person join lateral (select contact.*
>> from contact where contact.person_id=person.person_id order by
>> last_contact_date desc limit 1) as lastcontact on true;
>>
>
> Select person.*, lastcontact.*
> from people
> join lateral (select contact.*
>      from contacts
>      where contacts.person_nbr = people.person_nbr
>      order by last_contact_date
>      desc limit 1)
> as lastcontact on true;
>
> psql:companies-contacted-2025.sql:10: ERROR:  missing FROM-clause entry
> for table "contact"
> LINE 3: join lateral (select contact.*
>
> So:
> Select person.*, lastcontact.*
> from people
> join lateral (select contacts.*
>      from contacts
>      where contacts.person_nbr = people.person_nbr
>      order by last_contact_date
>      desc limit 1)
> as lastcontact on true;
>
> psql:companies-contacted-2025.sql:10: ERROR:  column "last_contact_date"
> does not exist
> LINE 6:      order by last_contact_date
>
>

I was giving you a query form.  You should use the actual table and column
names in your schema…

David J.