gpt4 book ai didi

mysql - 连接两个表并按两列分组

转载 作者:行者123 更新时间:2023-11-29 10:15:34 25 4
gpt4 key购买 nike

我有两个 MySQL 表。

用户表

id | country

帖子表

id | userId | type

在帖子表中我有 3 种类型的帖子。

'Social', 'Economic', 'Culture'

我需要对数据进行分组才能获取每种类型的帖子数。

例如。

country | social  | economic | culture
UK | 2 | 1 | 0
US | 0 | 2 | 1
LK | 1 | 0 | 0
IN | 0 | 0 | 3

我编写了以下查询,该查询似乎仅使用国家/地区对数据进行分组。我怎样才能移植它,以便它计算帖子的类型

SELECT b.country, SUM(a.type) 
FROM Post a
INNER JOIN User b ON a.id = b.id
GROUP BY b.country, a.type

谁能给我指点一下吗?

最佳答案

SELECT b.country, 
SUM(a.type = 'Social') as social,
SUM(a.type = 'Economic') as economic,
SUM(a.type = 'Culture') as culture
FROM Post a
INNER JOIN User b ON a.id = b.id
GROUP BY b.country

sum() 将条件为 true 的次数相加。
仅按您希望在结果集中拥有自己的行的数据进行分组。

关于mysql - 连接两个表并按两列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50167764/

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