先说结论
使用count distinct计算两列联合去重时,若有任何一列为NULL,那么count计数时就会略过这一条。
如:count(distinct a,b) 若a或者b中有一个是null,那么这一行就不会参与计数
平台:hive、mysql都是如此
1、给一张测试表如下:
表名设为test,注意第三行的name是null,空值
id | tools | name |
---|---|---|
1 | hive | a |
2 | hive | b |
3 | hive | NULL |
2、观察下方执行结果:
select distinct tools,name from test
tools | name |
---|---|
hive | a |
hive | b |
hive | NULL |
3、观察下方代码执行结果