Thread: How to select unique records in PostgreSQL

How to select unique records in PostgreSQL

From
Rama Krishnan
Date:

Hi All,


I want to get the unique wallet_id from this table even it was repeated on multiple occasions I should calculate only once as well as if the wallet_id was calculated on previous month it shouldn't be calculate on next months


create table student_id
(
student_wallet_id int,
card_id int,
created_date date
)

insert into  student_id values ('w1', 'c1', '2022-04-01')


insert into  student_id values ('w1', 'c2', '2022-04-03')


insert into  student_id values ('w1', 'c3', '2022-04-04')

insert into  student_id values ('w1', 'c4', '2022-05-01')
insert into  student_id values ('w2', 'c1', '2022-05-01')
insert into  student_id values ('w2', 'c2', '2022-05-04')
insert into  student_id values ('w3', 'c4', '2022-05-05')
insert into  student_id values ('w3', 'c6', '2022-06-03)
insert into  student_id values ('w3', 'c7', '2022-06-05')
insert into  student_id values ('w3', 'c8', '2022-06-07')
expected output:
-------------------

months      count_wallet_id
2022-04      1
2022-05      2
2022-05      0


Regards

A.Rama Krishnan

Re: How to select unique records in PostgreSQL

From
Ron
Date:
Honestly, you do it in PostgreSQL the same way you do it in all the other SQL RDBMSs.

On 11/24/22 06:01, Rama Krishnan wrote:

Hi All,


I want to get the unique wallet_id from this table even it was repeated on multiple occasions I should calculate only once as well as if the wallet_id was calculated on previous month it shouldn't be calculate on next months


create table student_id
(
student_wallet_id int,
card_id int,
created_date date
)

insert into  student_id values ('w1', 'c1', '2022-04-01')


insert into  student_id values ('w1', 'c2', '2022-04-03')


insert into  student_id values ('w1', 'c3', '2022-04-04')

insert into  student_id values ('w1', 'c4', '2022-05-01')
insert into  student_id values ('w2', 'c1', '2022-05-01')
insert into  student_id values ('w2', 'c2', '2022-05-04')
insert into  student_id values ('w3', 'c4', '2022-05-05')
insert into  student_id values ('w3', 'c6', '2022-06-03)
insert into  student_id values ('w3', 'c7', '2022-06-05')
insert into  student_id values ('w3', 'c8', '2022-06-07')
expected output:
-------------------

months      count_wallet_id
2022-04      1
2022-05      2
2022-05      0


Regards

A.Rama Krishnan


--
Angular momentum makes the world go 'round.

Re: How to select unique records in PostgreSQL

From
"David G. Johnston"
Date:
On Fri, Nov 25, 2022 at 7:50 AM Ron <ronljohnsonjr@gmail.com> wrote:
Honestly, you do it in PostgreSQL the same way you do it in all the other SQL RDBMSs.

Emphasizing "in PostgreSQL" is nonsensical - it isn't like the OP specified that they know how to do it in some other RDBMS and are trying to convert their knowledge to PostgreSQL.



On 11/24/22 06:01, Rama Krishnan wrote:


I want to get the unique wallet_id from this table even it was repeated on multiple occasions I should calculate only once as well as if the wallet_id was calculated on previous month it shouldn't be calculate on next months


You need a subquery to compute the month in which each wallet_id should appear (group by wallet_id with min(date) probably), then you can group on the min(date) column and count the wallets.

David J.