将特定行转置为列

时间:2016-01-13 19:11:44

标签: postgresql amazon-redshift

我有一个查询生成表格

id  year  count
1   2014    4
2   2014    5
3   2014    6
1   2015    2
4   2014    6
2   2015    3
3   2015    4
4   2015    8

我希望将其改为表格:

id  2014 2015
1    4    2
2    5    3
3    6    4
4    6    8

我正在使用amazon redshift,这是postgres。 pivot和unpivot功能不起作用,我无法使用交叉表功能。任何帮助都会非常有用。感谢

1 个答案:

答案 0 :(得分:0)

您总是可以使用

组的条件计数来构建类似的表
SELECT ID, 
       COUNT( CASE WHEN Year = 2014 THEN 1 END) as 2014,
       COUNT( CASE WHEN Year = 2015 THEN 1 END) as 2015
FROM myTable
GROUP BY ID