如何根据max-col获取值



我有这样的数据表

id, name, timestamp
xx,abc,01-01-2022
x1,abc,01-02-2022
x2,abc,01-03-2022
x3,aby,01-01-2022
x4,aby,01-02-2022
x5,aby,01-03-2022

如何得到最大timestamp和最大name is abcid

预期输出

x2

您可以像下面的一样使用DENSE_RANK()窗口函数

SELECT id
FROM (SELECT t.*, DENSE_RANK() OVER(PARTITION BY name ORDER BY timestamp DESC) AS dr
FROM t) tt
WHERE dr = 1  
and name = 'abc'

其中最新的(按降序排序的时间戳列(值在顶部返回。

最新更新