我有一个餐桌安排:
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
来“重塑”表格,计算每个pcode和城市的观测数。这个表相当大(>100000 obs)。不同pcode的数量未知,但不同城市的数量很小,因此我可以在
SELECT
中包含城市的名称。 最佳答案
您可以运行以下查询:
SELECT pcode,
SUM(city='MAD') as cityMAD,
SUM(city='LON') as cityLON
FROM table
GROUP BY pcode
但之后需要手动创建所有所需的列。
也许您应该同时
group by
和pcode
,并使用透视表。注意
city
在True时自动接收1,在False时自动接收0。关于mysql - 选择使用mysql重塑表格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44632069/