From: | Sunil Jadhav <sunilbjpatil(at)gmail(dot)com> |
---|---|
To: | "Paul Smith*" <paul(at)pscs(dot)co(dot)uk> |
Cc: | pgsql-admin(at)lists(dot)postgresql(dot)org |
Subject: | Re: Required distinct record with all fields |
Date: | 2024-04-26 11:59:18 |
Message-ID: | CAEQOu1HhENev3Z8fAhGgMQExOqVm=-d483xYQyPszSjq=sX2iQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Hello Paul,
As per you shared below query working fine but we required a lattest
records from duplicate we have another timestamp column is there based on
that date columns we need lattest records how we can achieve this any idea
please help.
SELECT * FROM mytable INNER JOIN (SELECT MAX(id) AS id FROM mytable
GROUP BY val) USING (id);
Thanks
Sunil
On Thu, 25 Apr, 2024, 9:16 pm Sunil Jadhav, <sunilbjpatil(at)gmail(dot)com> wrote:
> Hi paul,
>
>
> Thank you so much for your prompt response .
>
> It's very helpful
>
> Thanks
> Sunil
>
> On Thu, 25 Apr, 2024, 8:45 pm Paul Smith*, <paul(at)pscs(dot)co(dot)uk> wrote:
>
>> On 25/04/2024 15:58, Sunil Jadhav wrote:
>> > Hello team,
>> >
>> > we have table & its having 10 diff columns.
>> >
>> > 1) we need to fetch distinct records from 1 column
>> >
>> > suppose earlier we have 500 records after
>> > distinct we have 150 records only -->> we can used simply distinct
>> > function with column name
>> >
>> > will get the 150 unique data/records BUT.... based on output means 150
>> > records
>> >
>> > 2) how we can retrieve all other filed information like how we can
>> > achieve through SQL.
>> >
>> If I understand you correctly, you want to get distinct values of one
>> column with the LATEST data for the other columns from those records
>>
>> So, if you have a table like
>>
>> CREATE TABLE mytable (id BIGSERIAL PRIMARY KEY, val VARCHAR, datetime
>> TIMESTAMP WITH TIME ZONE);
>>
>> and you want to get all the data for each distinct value of 'val', you
>> could do
>>
>> SELECT * FROM mytable INNER JOIN (SELECT MAX(id) AS id FROM mytable
>> GROUP BY val) USING (id);
>>
>> The 'GROUP BY' gives you the distinct values; the MAX(id) gives you the
>> IDs of the latest records containing those distinct values, so the JOIN
>> just gives you those latest records
>>
>> Paul
>>
>>
>>
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Tejaswi K T | 2024-04-27 10:19:06 | pgbouncer degrades while -T is used |
Previous Message | Shweta Rahate | 2024-04-26 06:13:44 | Re: Required distinct record with all fields |