hive里开窗函数后取各id 的rownumber最大的数据
可以使用子查询和窗口函数来实现:
SELECT *
FROM (
SELECT id, name, score, ROW_NUMBER() OVER (PARTITION BY id ORDER BY score DESC) AS rn
FROM table_name
) t
WHERE t.rn = 1;
这个查询首先对每个id分组,并按照分数降序排序,然后使用ROW_NUMBER函数为每个分组中的每一行分配一个行号。最后,外部查询选择每个分组中行号为1的行,即每个id的最高分数行。
原文地址: https://www.cveoy.top/t/topic/brHI 著作权归作者所有。请勿转载和采集!