0

我的 SQL 查询有问题。我想计算有多少喜欢(计数)资源在我的计数中只有一个问题我希望结果像下降但我有问题如果资源有 0 就像它不会显示结果锥有人帮助我

select 
    l.resourceID, COUNT(*) as Count_of_like 
from 
    Likes l 
group by 
    l.resourceID

我想要的结果

resourceID  Count_of_like
----------- -------------
1           1
2           2
3           0
4

2 回答 2

2

理解你的问题有点困难,但我假设你也有一个资源表?假设是这样,您需要使用OUTER JOIN

select r.resourceId, count(l.*) Count_of_like 
from resource r 
   left join likes l on r.resourceId = l.resourceId
group by r.resourceId
于 2013-05-23T18:37:38.340 回答
1

假设您有一个resources包含所有resourceId值的表。您可以使用 LEFT JOIN 加入resources表,即使表中没有匹配的行,也会返回表中的所有行likes。:

select r.resourceid, count(l.resourceId) Total
from resources r
left join likes l
  on r.resourceid = l.resourceid
group by r.resourceid;

请参阅SQL Fiddle with Demo

于 2013-05-23T18:38:02.743 回答