让Mysql的count()返回值为空时显示为0

A表用户表,B表事件表,统计A表中用户参与B表中事件的次数,没有参与的显示为0,如何做到?B表中每参与一次就会重复录入一次ID。selectA.ID,count(B.ID... A表用户表,B表事件表,统计A表中用户参与B表中事件的次数,没有参与的显示为0,如何做到?B表中每参与一次就会重复录入一次ID。select A.ID ,count(B.ID)from A,Bwhere A.ID=B.IDgroup by B.ID order by count(B.ID) desc;以上方法查询出来的结果中,没有参与的人就不会显示,我希望查询的结果把没有参与的人也显示出来,并显示结果为0 展开
 我来答
星期老八
2018-12-31 · 超过22用户采纳过TA的回答
知道答主
回答量:43
采纳率:72%
帮助的人:12.3万
展开全部
语句大概是这样的

select A.ID ,count(B.ID)from A left join B on A.ID=B.IDgroup by B.ID order by 
count(B.ID) desc

没有亲自试验,可能不对,但根据你这个问题,大致思路就是这样的一个左外连接,A在左,就是把
A表中的所有字段显示出来,
查出来的结果可能是null,不是0,可以用IFNULL(字段,0)这个方法,希望能帮到你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式