我有这个表方案:
pcode city
1 MAD
3 MAD
3 LON
1 MAD
2 LON
3 MAD
1 LON
2 LON
我想要这个结果:
pcode cityMAD cityLON
1 2 1
2 0 2
3 2 1
我的意思是,我需要一个 SELECT
来“ reshape ”表格,计算每个 pcode 和城市的观察次数。
table 很大(>100,000 obs)。不同 pcode 的数量未知,但不同城市的数量很少,所以我可以在 SELECT
中包含城市名称。
最佳答案
您可以像下面这样构建查询:
select pcode,
sum(case when city = 'MAD' then 1 ELSE 0 END) as cityMAD,
sum(case when city = 'LON' then 1 ELSE 0 END) as cityLON
from table_name
group by pcode;
您需要为每个城市添加 sum
,就像我为 cityMAD 和 cityLON 添加一样。
关于mysql - 选择使用 mysql 对表进行广泛的 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44632069/