gpt4 book ai didi

mysql - 显示计数 = 0 表示外部表中不存在 id

转载 作者:行者123 更新时间:2023-11-29 12:31:30 25 4
gpt4 key购买 nike

我有这些表

文章类型

id  type
1 article
2 free
3 review

user_fav

uid  article_type_id
1 1
1 2
2 1
3 2
3 3
4 1
4 2
4 3

如果用户没有添加类型,我需要为用户提供文章类型,然后显示 0

预期结果

对于 uid = 1

article_type_id   count
1 1
2 1
3 0
------------------------------

对于 uid = 2

article_type_id   count
1 1
2 0
3 0
------------------------------

对于 uid = 3

article_type_id   count
1 0
2 1
3 1
------------------------------

对于 uid = 4

article_type_id   count
1 1
2 1
3 1

我尝试了以下查询以获得预期结果。

查询:

select article_type_id, count (article_type_id)
from article_types
left join user_fav on user_fav.article_type_id = article_type.id
where uid = 1

最佳答案

当条件位于左连接的第二个表中时,您需要将其包含在on子句中。此外,您的查询需要分组依据:

您想要的查询是:

select a.article_type_id, count(*)
from article_types a left join
user_fav u
on u.article_type_id = a.id and u.uid = 1
group by a.article_type_id;

关于mysql - 显示计数 = 0 表示外部表中不存在 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27424666/

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