我需要为每个客户ID返回2个最新日期,我分别有12345和112233,并且我需要为每个客户创建一个函数,该函数应该返回给我
id | client_id | created | log
----+-----------+---------------------+------------
1 | 12345 | 2019-05-02 12:01:10 | SOMETEXT1
2 | 12345 | 2019-05-02 12:09:01 | SOMETEXT11
3 | 112233 | 2019-05-01 13:10:12 | SOMETEXT2
4 | 112233 | 2019-05-02 09:45:50 | SOMETEXT23
(4 rows)
本应退还
> id | client_id | created | log
> ----+-----------+---------------------+------------
4 | 112233 | 2019-05-02 09:45:50 | SOMETEXT23
2 | 12345 | 2019-05-02 12:09:01 | SOMETEXT11
(2 rows)
答案 0 :(得分:0)
Postgres中最好的方法是distinct on
:
select distinct on (client_id) t.*
from t
order by client_id, created desc;