我有两个MySQL表。
用户表
id | country
发布表
id | userId | type
在Post表中我有3种类型的帖子。
'Social', 'Economic', 'Culture'
我需要对数据进行分组,以获得每种类型的帖子数。
例如。
country | social | economic | culture
UK | 2 | 1 | 0
US | 0 | 2 | 1
LK | 1 | 0 | 0
IN | 0 | 0 | 3
我编写了以下查询,似乎只使用国家/地区对数据进行分组。我该如何移植它以便它计算帖子的type
?
SELECT b.country, SUM(a.type)
FROM Post a
INNER JOIN User b ON a.id = b.id
GROUP BY b.country, a.type
有人能指点我吗?
答案 0 :(得分:1)
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
的时间
仅按要在结果集中拥有自己的行的数据进行分组。