[英]MySQL Query Left Join Problem To Get Data
我想在这里显示喜欢的数据:
id_produk | jumlah_liker | id_user
1 | 5 | 1
2 | 0 | 1
审查表产品
pr_id | nama
1 | Milk
2 | Choco
查看表喜欢
id_produk | id_user
1 | 1
1 | 1
1 | 1
1 | 1
1 | 1
但是我有SQL记录
id_produk | jumlah_liker | id_user
1 | 1 | 1 //the problem here
2 | 0 | 1
SELECT liker.id_produk, COUNT(liker.id_produk) AS jumlah_like, liker.id_user
FROM produk
LEFT OUTER JOIN liker ON liker.id_produk = produk.pr_id AND liker.id_user = 1
GROUP BY produk.pr_id
您需要同时对id_produk
和id_user
列进行GROUP BY
。 另外,您应该从produk
表中选择ID并对其进行汇总。 produk
进行左连接的produk
是确保每种产品始终出现在输出中。
SELECT
p.pr_id, -- NOT liker.id_produk
COUNT(l.id_produk) AS jumlah_like,
l.id_user
FROM produk p
LEFT JOIN liker l
ON l.id_produk = p.pr_id AND l.id_user = 1
GROUP BY
p.pr_id,
l.id_user;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.