oracle 使用count()函数进行分组计数时所踩的坑!

1.情景展示

  需要对id_card字段按字符长度进行分组统计并进行计数。

2.错误方式

  第一步:统计出id_card字段共存在几种情况。

  第一种方式:distinct

  第二种方式:group by

  第二步:分组计数

  计数只能通过group by来实现。

  问题就在于:

  当id_card字段内容为空(null)时,这个地方计数实际是错误的!

  因为count()函数自动将字段id_card的为null的值去掉了!而实际需要将该字段为空的行数据也统计在内。

3.解决方案

  使用count(1)解决。

  说明:

  count(1)和count(*),这两个函数计数的时候,都会将null统计在内,也包括重复记录;

  count(字段名) ,这个函数会自动将该字段值为null的记录排除在外,也包括重复记录。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

原文地址:https://www.cnblogs.com/Marydon20170307/p/10978158.html