hive sql rank
时间: 2024-01-12 10:04:27 浏览: 101
hive sql解析
Hive SQL中有三种排名函数:Rank(),Dense_rank()和Row_number()。这三种函数都可以用于对数据进行排名,但它们之间有一些差异。
以学生成绩表为例,假设我们有一个名为“score”的表,其中包含学生姓名和成绩两列。我们可以使用以下语句来对学生成绩进行排名:
1.使用Rank()函数进行排名,如果有两个学生的成绩相同,则它们的排名将相同,下一个排名将被跳过。
```sql
SELECT name, score, RANK() OVER (ORDER BY score DESC) as rank FROM score;
```
2.使用Dense_rank()函数进行排名,如果有两个学生的成绩相同,则它们的排名将相同,下一个排名将不会被跳过。
```sql
SELECT name, score, DENSE_RANK() OVER (ORDER BY score DESC) as rank FROM score;
```
3.使用Row_number()函数进行排名,如果有两个学生的成绩相同,则它们的排名将不同。
```sql
SELECT name, score, ROW_NUMBER() OVER (ORDER BY score DESC) as rank FROM score;
```
阅读全文