當前位置:
首頁 >
浅析row_number()函数【HQL】
發布時間:2024/2/28
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
浅析row_number()函数【HQL】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
語法格式:row_number() over(partition by 分組列 order by?排序列 desc)
row_number() over()分組排序功能:
在使用 row_number() over()函數時候,over()里頭的分組以及排序的執行晚于 where 、group by、??order by 的執行。
說不如來個實例:
創表
create table t1(id int,name String,class String,score int) row format delimited fields terminated by "," ;加載數據
load data local inpath "/root/t1" into table t1;實例一
對所有數據進行排序,無分組
select *,row_number() over(order by score desc) r from t1結果展示
實例二
分組排序,根據class分組根據成績排序
select id, name, class, score, row_number() over(partition by class order by score desc) rank from t1;結果展示
實例三
在實例二中已經做到了分組排序,不過對于我們的需求一般針對于前幾位,也就是topN,如下:
select t.id,t.name,t.class,t.score from (select id, name, class, score, row_number() over(partition by class order by score desc) rank from t1) t where t.rank < 4;結果展示
希望這篇博客能讓你對row_number()函數有一定的認識。歡迎交流~
總結
以上是生活随笔為你收集整理的浅析row_number()函数【HQL】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大剑无锋之已知后续遍历bfegcda,中
- 下一篇: HQL语句使用row_number()