1. 程式人生 > >Hive中count,sum的使用

Hive中count,sum的使用

目錄
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