gpt4 book ai didi

mysql - MySQL 连接中的Where 子句?

转载 作者:行者123 更新时间:2023-11-29 06:14:52 25 4
gpt4 key购买 nike

由于我的知识有限,不太确定如何解决这个问题。

但是 - 我有三张 table 。

类别表。

category_id, category_name
1 | ABC
2 | DEF
3 | GHI

链接表。

link_id, category_id, link_name
1 | 1 | Bla
2 | 1 | Bla bla
3 | 2 | Bla Bla Bla

详细信息表

details_id, link_id, details_status (then some more irrelevant fields)
1 | 1 | 0
2 | 1 | 1
3 | 1 | 0
4 | 2 | 1
5 | 3 | 1

状态字段为 0、1 或 2。

我想要做的是选择给定类别的链接列表。足够简单。

然后我想做的是加入详细信息表,以便在找到给定状态时突出显示我的链接。

例如,在类别“ABC”中,当运行返回类别“ABC”链接列表的查询时,details_id 1 和 3 的状态为 0。

我的查询将返回类似状态计数的内容其中details_status=0

所以对于category_id 1我想得到:link_id、link_name、status_count

产量:

1 | bla         | 2
2 | bla bla | 0
3 | bla bla bla | 0

最佳答案

select links.link_id, links.link_name, 
sum(if(details.details_status=0,1,0)) as status_count
from links
inner join category on links.category_id = category.category_id
inner join details on details.link_id = links.link_id
where category.category_name = 'ABC'
group by links.link_id, links.link_name

IF 语句包含 3 个参数。第一个是计算的逻辑表达式。第二个是该表达式为 true 时的返回值。第三个是表达式为 false 时的返回值。因此,在这里,我们检查details_status是否= 0。如果是,我们要返回1,否则返回0。然后,我们将其包装在SUM函数中以获得我们要查找的总数。

关于mysql - MySQL 连接中的Where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177499/

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