原始表
id month
1 10/2017
1 10/2017
1 11/2017
2 1/2017
2 3/2017
3 9/2016
3 9/2016
3 5/2017
3 6/2017
3 6/2017
3 10/2017
更新表:
id 9/2016 10/2016 11/2016 12/2016 1/2017 2/2017 3/2017 4/2017 5/2017 6/2017 7/2017 8/2017 9/2017 10/2017 11/2017
1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1
2 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
3 2 0 0 0 0 0 0 0 1 0 0 0 0 1 0
我通常使用python和pandas,所以我不确定如何在SQL中执行此操作。
任何帮助将不胜感激。
更新为查询
select
sum(case when quarter = '2006-07-01' THEN 1 ELSE 0 END) AS '2006Q3',
sum(case when quarter = '2006-10-01' THEN 1 ELSE 0 END) AS '2006Q4',
sum(case when quarter = '2007-01-01' THEN 1 ELSE 0 END) AS '2007Q1',
sum(case when quarter = '2007-04-01' THEN 1 ELSE 0 END) AS '2007Q2',
...
from trans_v3
group by core_id
答案 0 :(得分:1)
好吧,你可以蛮力:
SELECT SUM(CASE WHEN month = '9/2016' THEN 1 ELSE 0 END) AS 201609
, SUM(CASE WHEN month = '10/2016' THEN 1 ELSE 0 END) AS 201610
...
FROM t
GROUP BY id