gpt4 book ai didi

mysql - 表格中的重复计数

转载 作者:可可西里 更新时间:2023-11-01 08:06:30 25 4
gpt4 key购买 nike

我有一个用户表:

user_id    name
1 John
2 Dan
3 Jane
4 Sophie
5 Jodie

然后我有一个名为 associates 的表:

user_id    assoc_id
1 2
1 3
3 4
3 1
3 5
4 1
5 1
5 2

我想做的是显示每个用户有多少关联,或者没有

所以,结果会显示

user_id    Name     Number of Associates
1 John 2
2 Dan 0
3 Jane 3
4 Sophie 1
5 Jodie 2

我正在尝试的是有效的,但没有显示 0

这就是我正在尝试的,如何获得 0?

SELECT u.user_id, u.name, count(a.user_id) as howmany from users u
join associates a on a.user_id = u.user_id
group by u.user_id order by u.user_id asc

最佳答案

您需要一个 LEFT OUTER JOIN:

SELECT u.user_id, u.name, count(a.user_id) as howmany 
FROM users u LEFT OUTER JOIN associates a
ON a.user_id = u.user_id
GROUP BY u.user_id
ORDER BY u.user_id ASC

LEFT OUTER JOIN 将包括第一个表的每一行,即使它们不存在于连接表中也是如此。

关于mysql - 表格中的重复计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955799/

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