hive的row_number()函數
功能
- 用於分組,比方說依照uuid分組
- 組內可以依照某個屬性排序,比方說依照uuid分組,組內按照imei排序
- 語法為
row_number() over (partition by xxx order by xxx) rank
,其中rank為分組的別名,你也可以換個名字比方說換成hahahah - 取組內某個數據,可以使用where a.rank=1之類的語法去取
實例
- 按照uuid分組,組內使用imei排序,取其中第一行數據,然后計算數據量
select count(*) from (select uuid,imei,row_number() over (partition by uuid order by imei) rank from table_name where dt=20170909 group by uuid,imei) a where a.rank=1;