HQL max+struct实现开窗功能
一、需求
这里有一张班级分数score表:
class | name | score |
---|---|---|
1 | 11 | 88 |
1 | 12 | 92 |
1 | 13 | 99 |
2 | 21 | 66 |
2 | 22 | 98 |
2 | 23 | 89 |
要求查找每个班级分数最高的人及其分数,输出如下:
class | name | score |
---|---|---|
1 | 13 | 99 |
2 | 22 | 98 |
二、实现
1.使用开窗函数实现
select class
, name
, score
from (select class
, name
, score
, row_number() over (partition by class order by score desc) rn
from score
) t
where rn = 1
说明:该方法为开窗函数的基本用法。