首页 > 数据库 > 数据库开发技术 > hive开窗函数-rank和dense_rank
语法:
RANK() OVER ( [PARTITION BY partition_expression, ... [n]] ORDER BY sort_expression [ASC | DESC], ... [n] )参数说明:
PARTITION BY:可选项,用于在分区内排序。
ORDER BY:指定排序顺序及其方向(升序或降序)。
可选项 ASC 或DESC:默认为ASC(升序)。
示例:
SELECT name, score, RANK() OVER (ORDER BY score DESC) AS rankFROM students;
输出:
| name | score | rank |
|---|---|---|
| Alice | 90 | 1 |
| Bob | 80 | 2 |
| John | 80 | 2 |
| Mary | 70 | 4 |
语法:
DENSE_RANK() OVER ( [PARTITION BY partition_expression, ... [n]] ORDER BY sort_expression [ASC | DESC], ... [n] )参数说明:
PARTITION BY:可选项,用于在分区内排序。
ORDER BY:指定排序顺序及其方向(升序或降序)。
可选项 ASC 或DESC:默认为ASC(升序)。
示例:
SELECT name, score,DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rankFROM students;
输出:
| name | score | dense_rank |
|---|---|---|
| Alice | 90 | 1 |
| Bob | 80 | 2 |
| John | 80 | 2 |
| Mary | 70 | 3 |
总结:
原文作者:数据仓库技术;如有侵权,请联系管理员删除。