我有以下查询:
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
值的一行。