gpt4 book ai didi

php - mysql加入: get parts with count for each type

转载 作者:行者123 更新时间:2023-11-29 08:06:07 24 4
gpt4 key购买 nike

我有两个表:

1) 零件

part_id  |  part_name

2) 帖子

post_id | part_id | type | title | content

在帖子表中,帖子具有三种类型之一,因此在类型列中我输入值(1或2或3)

我想得到这样的表(带有计数和连接)

part_id | part_name | count_posts_type1 | count_posts_type2 | count_posts_type3

如何使用 mysql 做到这一点?

示例:

enter image description here

最佳答案

如果类型列表有限,则将 sum 与 case when 结合使用是一种相当常见的方法。

然后左连接得到没有 post 的部分的结果(并且合并得到 0 而不是总和上的 null),然后我们开始。

select 
pa.part_id, pa.part_name,
coalesce(sum(case when po.type = 1 then 1 else 0 end), 0) as count_posts_type1,
coalesce(sum(case when po.type = 2 then 1 else 0 end), 0) as count_posts_type2,
coalesce(sum(case when po.type = 3 then 1 else 0 end), 0) as count_posts_type3
from parts pa
left join posts po on po.part_id = pa.part_id
group by pa.part_id, pa.part_name

关于php - mysql加入: get parts with count for each type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22716578/

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