当我想要0

时间:2016-12-10 21:13:42

标签: sql postgresql

我有以下查询:

SELECT 
    l.id, l.name, l.store_id, COUNT(1) as reviewCount
FROM
    locations l
LEFT OUTER JOIN
    reviews r ON l.id=r.location_id
GROUP BY 
    l.id 
ORDER BY
     reviewCount DESC

我有2张桌子;地点,评论。评论商店location_id。我希望获取所有位置,并为每个位置添加reviewCount。当某个位置没有任何评论时,我会得到reviewCount的1.但我想为这些位置获得0的reviewCount。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您想要计算第二个表中的匹配项,因此请计算该表中的列:

SELECT l.id, l.name, l.store_id, COUNT(r.location_id) as reviewCount
. . .

COUNT(1)正在计算返回的。从第二个表返回一行NULL个值。