在此我要0时,左外查询将返回1



我有以下查询:

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。当有任何评论的位置时,我会得到1个reviewCount,但我想为这些位置获得0的评论。

感谢您的帮助!

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

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

发生的事情是COUNT(1)正在计数被返回。从第二个表返回使用NULL值的一行。

最新更新