繁体   English   中英

需要为 2 个 ID 选择 2 个最近的日期

[英]Need to select 2 most recent dates for 2 id's

我需要为每个客户端 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)

Postgres 中的最佳方式在以下方面distinct on

select distinct on (client_id) t.*
from t
order by client_id, created desc;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM