gpt4 book ai didi

MySQL查询左连接问题获取数据

转载 作者:行者123 更新时间:2023-11-29 16:38:13 24 4
gpt4 key购买 nike

我想在这里显示数据:

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_produkid_user 列进行GROUP BY。另外,您应该从 produk 表中选择并聚合 id。从 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;

Demo

关于MySQL查询左连接问题获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53478041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com