【发布时间】:2019-11-16 09:15:48
【问题描述】:
SELECT row_id, p_id, dt,
RANK() OVER (PARTITION BY p_id ORDER BY row_id ASC) AS rank
FROM tab
ORDER BY p_id, row_id ASC;
我只想要每个 p_id 排名最高的记录,我也想要排名。有没有办法不将上述查询放入子查询并选择 MAX(rank)
【问题讨论】:
-
每个窗口的最高排名不都是1吗?无论如何,您很可能必须使用 CTE 或子查询。请参阅此帖子了解原因:stackoverflow.com/questions/13997177/…
-
请提供示例数据和相应的输出。