当前位置:   article > 正文

mysql 中count(*)结果为空的情况_count(*)为空

count(*)为空

今天遇到一个场景,统计网站的用户访问量,功能还是比较简单,可能一个简单的sql就能返回结果,由于访问用户需要去重,所以就写了如下的sql,我用的是mysql 8+

  1. SELECT count(1) num FROM t_customer_visit_log WHERE logname = '来访用户'
  2. and create_time between '2010-01-01' and '2030-02-02' group by userid

正常应该也是这样,但是当记录为空的时候,查询结果不是0,而是空记录

这在后台请求的时候就会报错空指针异常,之前一直没遇到过,最后发现是分组去重的原因,分组的时候,结果应该是一条分组结果,而不是count的计算结果,所以一般遇到分组统计的话,最好做个处理,以免掉坑,我用的补救方式如下,仅供参考

  1. select count(1) num from (
  2. SELECT userid FROM t_customer_visit_log WHERE logname = '来访用户'
  3. and create_time between '2010-01-01' and '2030-02-02' group by userid
  4. ) visitpv

返回结果正常

备注:没试过其他的数据库,按正常理解的话,应该都会遇到这种问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/84328
推荐阅读
相关标签
  

闽ICP备14008679号