sql语句中的count(distinct column)问题记录

闲话不多说,直接上干货。老帖们,切记不要随意copy!copy有风险,发帖须谨慎!

按照惯性思维,统计一个字段去重后的条数我们的sql写起来如下:

select count(distinct column)from db.table

如果column字段不是空值的时候,它是高效的,但是如果值全部为空,那么我们的结果是什么呢?如果你实验了,没错,你没有看错,正如你实验的一样,结果就是0。这个问题怎么解决呢?这里我给出一个我改进后的使用方式:

select count(distinct case when trim(column) is null or trim(column) ='' then  ''1)from db.table

没错,就是当它为空串或者null的时候给它赋个新值,然后再进行正常的去重统计,结果ok。

猜你喜欢

转载自blog.csdn.net/weixin_38120374/article/details/81977373
今日推荐