Hive函数之count

2017-12-11  本文已影响0人  编程回忆录

准备数据:

create table t1( a int);
insert into t1 (a) values (1);
insert into t1 (a) values (2);
insert into t1 (a) values (3);
insert into t1 (a) values (NULL);

1.count(*)与count(1)
这两种写法计算结果相同,都是计算总行数包括字段值为NULL的行

select count(*) from t1;
select count(1) from t1;

这两条sql都返回4
2.count(expr)
count可以自定义表达式完成一些高级统计功能,如下:

select count(a) from t1;
image.png

count(a)将返回a字段不为NULL的行数,所以为3。

select count(a>1) from t1;
image.png

这条sql返回3。

最后看下count distinct用法

select count(distinct a) from t1;
image.png

count(distinct a)去重统计也会排除字段为NULL的值。

count distinct还可以写更复杂的表达式:

select count(distinct case when a>1 then a else NULL end)  from t1
image.png
上一篇下一篇

猜你喜欢

热点阅读