hql rank_over
时间: 2023-11-13 19:05:54 浏览: 81
RANK OVER()和ROW_NUMBER()OVER的使用
HQL中的rank_over函数可以用于分组排序,类似于SQL中的row_number() over()函数。rank_over()函数可以根据指定的排序规则对分组后的数据进行排序,并为每个分组中的每一行分配一个排名。下面是rank_over()函数的语法:
```
rank_over([partition_by_clause] order_by_clause)
```
其中,partition_by_clause指定分组的列,order_by_clause指定排序的列和排序规则。使用rank_over()函数的示例如下:
```
SELECT id, name, class, score, rank_over(PARTITION BY class ORDER BY score DESC) AS rank FROM t1;
```
上述示例中,我们使用rank_over()函数对t1表进行分组排序,按照class列进行分组,按照score列进行降序排序,并为每个分组中的每一行分配一个排名。最终的查询结果包括id、name、class、score和rank五个列。
阅读全文