How to select unique records in PostgreSQL
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
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 monthscreate 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 0Regards
A.Rama Krishnan
--
Angular momentum makes the world go 'round.
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.