计算用户留言的总数,select COUNT(USER) as total,USER from book where U

计算用户留言的总数,select COUNT(USER) as total,USER from book where USER=48 group by USER
发现如果“48”用户没有留言的话,就查不到记录,理想是能有反馈的结果,

total USER
0 48
hormbre 1年前 已收到1个回答 举报

阿芭_ 幼苗

共回答了15个问题采纳率:73.3% 举报

select case when COUNT(USER) >0 then COUNT(USER) else 0 end as total,USER from book where USER=48 group by USER
你用类似这样的方法试试看

1年前 追问

2

hormbre 举报

试了一下,还是不行,是不是因为book表里没有“48” ID的关系,所以一直都没记录。我看了表的内容,没有ID=48记录。

举报 阿芭_

那你这种情况,适用左连接 A left join(左连接)包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录。 两个表a,b相连接,要取出id相同的字段 select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据. 此时的取出的是: 1 a1 b1 2 a2 b2 那么left join 指: select * from a left join b on a.aid = b.bid 首先取出a表中所有数据,然后再加上与a,b匹配的的数据 此时的取出的是: 1 a1 b1 2 a2 b2 3 a3 空字符 对你这种情况,写成 select COUNT(USER) as total,USER from USERtable left join book where USER=48 group by USER 关键是加入有所有用户记录的USERtable表
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.027 s. - webmaster@yulucn.com