By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t
(Id int,Date timestamp,SubNo int, PO int)
;
INSERT INTO t
(Id,Date,SubNo ,PO)
VALUES
(100, '2022-11-01 12:43', 1, 800),
(101, '2022-11-02 13:00', 1, 800),
(102, '2022-11-03 12:43', 2, 800),
(103, '2022-11-03 14:00', 1, 923),
(104, '2022-11-03 15:00', 2, 800),
(105, '2022-11-04 12:43', 1, 800)
;
Records: 6 Duplicates: 0 Warnings: 0
select * from t
Id | Date | SubNo | PO |
---|---|---|---|
100 | 2022-11-01 12:43:00 | 1 | 800 |
101 | 2022-11-02 13:00:00 | 1 | 800 |
102 | 2022-11-03 12:43:00 | 2 | 800 |
103 | 2022-11-03 14:00:00 | 1 | 923 |
104 | 2022-11-03 15:00:00 | 2 | 800 |
105 | 2022-11-04 12:43:00 | 1 | 800 |
select Id
,Date
,SubNo
,PO
from
(
select *
,row_number() over(partition by SubNo, PO order by Date desc) as rn
from t
) t
where rn = 1
Id | Date | SubNo | PO |
---|---|---|---|
105 | 2022-11-04 12:43:00 | 1 | 800 |
103 | 2022-11-03 14:00:00 | 1 | 923 |
104 | 2022-11-03 15:00:00 | 2 | 800 |