我有一个查询,LEFT JOINS另一个表来分组行。我试图只选择第一个表“googleimage”中的记录,其中user_id是一定数字。 (user_id是“googleimage”表格中的一列。
SELECT g.*
FROM googleimage g
LEFT JOIN (SELECT image_id, COUNT(*) AS cnt
FROM googleimagefound WHERE status = 0
GROUP BY image_id) gf ON gf.image_id = g.id
ORDER BY COALESCE(cnt, 0) DESC");
我尝试添加一个新的ON语句beiside
gf ON gf.image_id = g.id
我也尝试过更改
SELECT g.*
FROM googleimage g
到
SELECT g.*
FROM googleimage WHERE user_id = 1 g
但是它们似乎都没有用,任何帮助都会得到满足
答案 0 :(得分:2)
尝试更改您的查询,如下所示
SELECT g.*
FROM googleimage g
LEFT JOIN (SELECT image_id, COUNT(*) AS cnt
FROM googleimagefound WHERE status = 0
GROUP BY image_id) gf ON gf.image_id = g.id
WHERE g.user_id = 1 <-- add this condition
ORDER BY COALESCE(gf.cnt, 0) DESC;