当主查询没有返回记录时,如何从子查询获取Count

时间:2012-08-29 16:25:40

标签: mysql count subquery

下面的MYSQL查询为我提供了在主查询中找到记录时所需的输出,例如

RETURN:

username  |  total_favs
this_user |  4

但如果在主查询中找不到记录,我什么都得不到。我想得到这样的东西:

RETURN:

username  |  total_favs
null |  4

SELECT 
  c.username,
  (SELECT COUNT(*) AS total_records FROM favourites f WHERE f.pic_id = 177) AS `total_favs`
FROM
  comments c
WHERE
  c.pic_id = 177

1 个答案:

答案 0 :(得分:3)

切换它,因此favourites是主要查询:

SELECT c.username, COUNT(*) AS total_favs
FROM favourites f
LEFT OUTER JOIN comments c on f.pic_id = c.pic_id
WHERE f.pic_id = 177
GROUP BY c.username