Hive / SQL 查询每个键的前 n 个值

Hive / SQL query for top n values per key

我想要每个键的前 2 个值。结果如下:

配置单元查询应该是什么。

您可以使用 window function with OVER() 关闭:

select col1,col2 from (SELECT col1,
col2, 
ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col2 DESC) AS row_num
FROM data)f
WHERE f.row_num < 3
order by col1,col2