hive row_number() over() 多个最大值
时间: 2023-08-18 07:13:06 浏览: 130
hive开窗函数详细介绍
你可以使用 Hive 中的窗口函数 `row_number() over()` 结合子查询来获取多个最大值。以下是一个示例查询:
```sql
SELECT *
FROM (
SELECT col1, col2, ..., row_number() OVER (ORDER BY col1 DESC) as row_num
FROM your_table
) t
WHERE row_num <= N;
```
在上面的查询中,你需要将 `your_table` 替换为你的实际表名,`col1` 是你想要根据其找到最大值的列,`N` 是你想要获取的最大值的数量。查询结果将返回按照 `col1` 降序排列的前 N 行数据。
注意,如果有多个行具有相同的最大值,它们将被包含在结果中。如果你只想要唯一的最大值,可以使用 `DENSE_RANK()` 窗口函数替换 `row_number()`。
阅读全文