Re: Selecting table row with latest date

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Rich Shepard <rshepard(at)appl-ecosys(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Selecting table row with latest date
Date: 2021-08-19 15:52:51
Message-ID: bbfdfb82-82e1-2cc4-e44d-d997cf6fac73@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 8/19/21 8:39 AM, Rich Shepard wrote:
> On Thu, 19 Aug 2021, Tom Lane wrote:
>
>> The best way is usually like
>>    select * from mytable order by contact_date desc limit 1;
>> If you have an index on contact_date this should work very well indeed.
>
> tom,
>
> I added an index on contact_date and the query returned only one row. Huh!
> Not what I expected.
>
> This is the script I need to fine-tune (and I've forgotten the role of sq
> since someone suggested it a few years ago):
>
> ----------
> /* This query selects all whose next_contact date is today or earlier;
> no nulls.
>    This version should select the most recent contact_date by person_nbr,
>    order by person_nbr and next_contact date. STILL NEEDS WORK.
> */
>
> select p.person_nbr, p.lname, p.fname, p.direct_phone, p.cell_phone,
> o.company_name, sq.*
> from people as p
>      join companies as o on p.company_nbr = o.company_nbr
>      cross join
>          lateral
>          (select *
>          from contacts as a
>              where a.person_nbr = p.person_nbr and
>              a.next_contact <= current_date and
>              a.next_contact is not null
>          order by person_nbr, a.next_contact ASC
>          ) sq
>          order by sq.next_contact ASC;
> ----------

Alright now I am confused. You keep referring to contact_date, yet the
query is referring to next_contact. Are they the same thing, different
things or other?

>
> Rich
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2021-08-19 16:06:17 Re: Selecting table row with latest date
Previous Message Rich Shepard 2021-08-19 15:39:39 Re: Selecting table row with latest date