mysql分组查询缺失_mysql中group by分组后查询无数据补0;

mysql常常会用到Group By来进行分组查询,但也常常会遇到一个问题,就是当有where条件时,被where条件过滤的数据不显示了。java

例如我有一组数据:mysql

mysql分组查询缺失_mysql中group by分组后查询无数据补0;_第1张图片

我想查询当日领取数量和当日核销数量;sql

正常的sql查出的话,假如不存在相关记录函数

SELECT

cardId ,

count( *) count

FROM

userwechatcard

WHERE

DATE( FROM_UNIXTIME( consumeTime / 1000 ,

'%Y%m%d' )) = CURDATE()

AND cardState = 6300

GROUP BY

cardId

结果查不到任何记录;

mysql分组查询缺失_mysql中group by分组后查询无数据补0;_第2张图片

所以,咱们想实现,即便没有数据,也想让count显示出0而不是空的效果;spa

解决方案:构建一个包含全部cardId的结果集;而后和咱们原本的sql进行左外链接&#

你可能感兴趣的:(mysql分组查询缺失)