有一张UsersEntry
表
id | UID | RelationshipID | Value1 | ModDate | CreateDate
UID 可以在此表中插入多次(每个关系 ID 一次)。 ModDate 在创建时为 null,因此可以具有以下内容
1 | 5 | 1 | 100 | null | 2020-03-16 01:59:29
2 | 5 | 10 | 100 | 2021-03-01 01:59:29 | 2020-03-16 01:59:29
3 | 5 | 30 | 100 | 2021-03-16 01:59:29 | 2020-03-16 01:59:29
4 | 8 | 30 | 100 | null | 2020-03-16 01:59:29
对于用户 UID 5,我想拉记录 ID 2。对于 UID 8,我想拉记录 4。
我真正想返回的是 UserID
和 Value1
(每个用户最近修改的 Value1。
谢谢!
不知道为什么我的票数不高...我试过 group by 但两个日期的比较让我失望。
答案 0 :(得分:-1)
窗口函数是一种典型的方法:
select ue.*
from (select ue.*,
row_number() over (partition by UID order by modDate desc) as seqnum
from UsersEntry ue
) ue
where seqnum = 1;