DB2行转列操作是很常见的问题,下面就教您如何实现DB2行转列操作,如果您之前遇到过DB2行转列的问题,不妨一看。
给出下面的数据:
CREATE TABLE Sales (Year INT, Quarter INT, Results INT)
YEAR QUARTER RESULTS
———– ———– ———–
2004 1 20
2004 2 30
2004 3 15
2004 4 10
2005 1 18
2005 2 40
2005 3 12
2005 4 27
想要的到结果:
YEAR Q1 Q2 Q3 Q4
———– ———– ———– ———– ———–
2004 20 30 15 10
2005 18 40 12 27
这个SQL就可解决这个问题:S
ELECT Year,
MAX(CASE WHEN Quarter = 1
THEN Results END) AS Q1,
MAX(CASE WHEN Quarter = 2
THEN Results END) AS Q2,
MAX(CASE WHEN Quarter = 3
THEN Results END) AS Q3,
MAX(CASE WHEN Quarter = 4
THEN Results END) AS Q4
FROM Sales
GROUP BY Year
解释一下为什么要加max的原因,因为不加max的话结果会是这样:
YEAR Q1 Q2 Q3 Q4
———– ———– ———– ———– ———–
2004 20 – – –
2004 – 30 – –
2004 – – 15 –
2004 – – – 10
2005 18 – – –
2005 – 40 – –
2005 – – 12 –
2005 – – – 27
【编辑推荐】
DB2在线备份的实现方法
四种删除DB2数据的方法
深入解读DB2存储过程
带您了解DB2异常处理器类型
Windows下创建DB2实例的方法
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231003.html<

