先说结论
使用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 |