Hive sql rank dense_rank row_number具体例子
时间: 2023-07-18 17:30:49 浏览: 97
hiveSQL实战案例
假设有一个名为`students`的表,包含以下字段:`id`、`name`、`score`。现在需要按照`score`字段进行排名,并使用`rank`、`dense_rank`和`row_number`三种方式进行排名。
具体实现如下:
1. 使用`rank`函数进行排名:
```sql
SELECT id, name, score, RANK() OVER (ORDER BY score DESC) AS rank
FROM students;
```
2. 使用`dense_rank`函数进行排名:
```sql
SELECT id, name, score, DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rank
FROM students;
```
3. 使用`row_number`函数进行排名:
```sql
SELECT id, name, score, ROW_NUMBER() OVER (ORDER BY score DESC) AS row_number
FROM students;
```
以上三个例子都是按照`score`字段进行降序排列,并使用不同的函数进行排名。通过这些函数,我们可以根据不同的业务需求,对数据进行不同的排名处理。
阅读全文