Hive ROW_NUMBER,RANK(),DENSE_RANK()
準備資料
浙江,杭州,300
浙江,寧波,150
浙江,溫州,200
浙江,嘉興,100
江蘇,南京,270
江蘇,蘇州,299
江蘇,某市,200
江蘇,某某市,100
建立表
CREATE table pcp
(province string,city string,people int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
匯入資料
load data inpath '/tmp/1.txt' into table pcp;
普通查詢
select * from pcp order by people desc;
浙江 杭州 300
浙江 寧波 150
浙江 溫州 200
浙江 嘉興 100
江蘇 南京 270
江蘇 蘇州 299
江蘇 某市 200
江蘇 某某市 100
綜合查詢
select province,city,
rank() over (order by people desc) rank,
dense_rank() over (order by people desc) dense_rank,
row_number() over(order by people desc) row_number
from pcp
group by province,city,people;
浙江 杭州 300 1 1 1
江蘇 蘇州 299 2 2 2
江蘇 南京 270 3 3 3
江蘇 某市 200 4 4 4
浙江 溫州 200 4 4 5
浙江 寧波 150 6 5 6
江蘇 某某市 100 7 6 7
浙江 嘉興 100 7 6 8
主要注意打圈的:
row_number順序下來,
rank:在遇到資料相同項時,會留下空位,(紅框內第一列,4,4,6)
dense_rank:在遇到資料相同項時,不會留下空位,(紅框內第一列,4,4,5)
分組統計查詢
select province,city,
rank() over (partition by province order by people desc) rank,
dense_rank() over (partition by province order by people desc) dense_rank,
row_number() over(partition by province order by people desc) row_number
from pcp
group by province,city,people;
江蘇 蘇州 299 1 1 1
江蘇 南京 270 2 2 2
江蘇 某市 200 3 3 3
江蘇 某某市 100 4 4 4
浙江 杭州 300 1 1 1
浙江 溫州 200 2 2 2
浙江 寧波 150 3 3 3
浙江 嘉興 100 4 4 4
相關文章
- Hive中row_number()、dense_rank()、rank()的區別Hive
- 7.78 DENSE_RANK
- Oracle vs PostgreSQL Develop(14) - 分析函式KEEP DENSE_RANKOracleSQLdev函式
- mysql自動排序函式dense_rank() over()、rank() over()、row_num() over()用法和區別MySql排序函式
- rank
- Hive的row_number和regexp_extract結合帶來的亂碼問題Hive
- PaddleSeg2.8訓練驗證時報錯[Hint: Expected axis >= -rank && axis < rank == true, but received axis >= -rank && axis < rank:0 != true:1.]
- 7.21 APPROX_RANKAPP
- 1366. Rank Teams by Votes
- Oracle中rownum和row_number()Oracle
- sql中row_number over語句SQL
- Hive --------- hive 的優化Hive優化
- [Hive]Hive排序優化Hive排序優化
- Leetcode 1366. Rank Teams by Votes (python+cpp)LeetCodePython
- Fast Bokeh Effects Using Low-Rank Linear FiltersASTFilter
- 【Hive】hive資料遷移Hive
- mysql使用自定義序列實現row_number功能MySql
- HIVEHive
- Flume和Hive整合之hive sinkHive
- 【Hive一】Hive安裝及配置Hive
- LeetCode 第 42 場雙週賽 ( rank 514 / 1578 )LeetCode
- SQL Server中row_number函式的常見用法SQLServer函式
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- flink實戰--讀寫Hive(Flink on Hive)Hive
- hive匯出到csv hive匯出到excelHiveExcel
- Hive學習之Hive的安裝Hive
- Hive -------- hive常見查詢練習Hive
- HIVE基本語法以及HIVE分割槽Hive
- [Hive]Hive實現抽樣查詢Hive
- 並查集系列之「基於rank的優化」並查集優化
- spark with hiveSparkHive
- [hive]hive資料模型中四種表Hive模型
- [Hive]hive分割槽設定注意事項Hive
- excel利用rank排名次公式 excel利用公式計算排名Excel公式
- 並查集系列之「基於rank的最佳化」並查集
- 【大資料開發】Hive——Hive函式大全大資料Hive函式
- MySQL中的ROW_NUMBER視窗函式簡單瞭解下MySql函式
- hive建表Hive