Hive中count統計數量的多種使用方式

NO IMAGE

其他環境沒有試,Hive上肯定是可以的。
可以在count裡使用case when、distinct等處理,滿足日常資料統計需求。

select
pt_day,
count(*),
count(uid),count(identifier),
count(distinct uid),count(distinct identifier),
count(case when appkey='CSIos' then identifier else null end),count(case when appkey='CSAndroid' then identifier else null end),
count(distinct case when appkey='CSIos' then identifier else null end),count(distinct case when appkey='CSAndroid' then identifier else null end),
count(case when appkey in ('CSIos','CSAndroid') then identifier else null end),
count(distinct case when appkey in ('CSIos','CSAndroid') then identifier else null end)
from bi_all_access_log
where pt_day between '2017-11-01' and '2017-11-14'
group by pt_day
order by pt_day;

說明:
其中,count(*),count(uid),count(identifier)三都統計得到的值是相同的。