Hive中count,sum的使用
阿新 • • 發佈:2019-02-10
目錄
1.簡介
2.count,sum使用區別
3.實操
1.簡介
在日常的工作中,總避免不了統計總數,Hive中常用的統計有兩個函式
count
sum
可以在count,sum中裡使用case when、distinct等處理,滿足日常資料統計需求。
2.count sum使用區別
2.1 count
統計有效行(非null)
select count(*) from tmp.stu #統計所有行數
select count(id) from tmp.stu #統計id列不為null的行數
2.2 sum
將某列進行累加(如果某行的列的為null則忽略
select sum(id) from tmp.stu
3.實操
id | sd | name |
---|---|---|
1 | 111 | la |
2 | 222 | la |
3 | 333 | le |
4 | 444 | le |
5 | 555 | lz |
Hql
select count(*) as s, count(case when name == 'la' then 0 else 1 end) as s1, count(case when name == 'la' then null else 1 end) as s2, sum(case when name == 'la' then 0 else 1 end) as s3, sum(case when name == 'la' then null else 1 end) as s4 from tmp.stu
結果
5 5 3 3 3