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

问题描述:

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

total USER
0 48

select case when COUNT(USER) >0 then COUNT(USER) else 0 end as total,USER from book where USER=48 group by USER
你用类似这样的方法试试看试了一下,还是不行,是不是因为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 fromUSERtableleft join book where USER=48 group by USER关键是加入有所有用户记录的USERtable表