gpt4 book ai didi

sql - 限制sql窗口函数中的结果集

转载 作者:行者123 更新时间:2023-12-04 23:52:46 24 4
gpt4 key购买 nike

假设我想重写以下聚合查询

select id, max(hittime)
from status
group by id

使用聚合窗口函数,如
select id, max(hittime) over(partition by id order by hittime desc) from status

如何指定我只对分区中的第一个结果感兴趣?

编辑:我在想 [ RANGE | ] 可能有一个解决方案ROWS ] 在 frame_start 和 frame_end 之间。不仅要获得 max(hittime) 还要获得第二、第三...

最佳答案

我认为您需要的是一个排名函数,ROW_NUMBER 或 DENSE_RANK 取决于您想要如何处理关系。

select id, hittime
from (
select id, hittime,
dense_rank() over(partition by id order by hittime desc) as ranking
from status
) as x
where ranking = 1; --to get max hittime
--where ranking <=2; --max and second largest

关于sql - 限制sql窗口函数中的结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20161109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com