需求描述
有时候,我们需要把列的数据变成行的数据展示出来,就需要列转行了
如下表 test 月份和数量:我想把它变成展示月份和num的列数的这样一个表,如下
test:
mon num
08 0
08 0
09 0
09 0
09 0
09 0
09 0
09 0
09 0
09 0
09 0
09 0
10 0
10 0
10 0
10 0
10 0
10 0
10 0
10 0
11 0
11 0
10 0
10 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
11 0
转换后:
01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 10 | 10 | 24 | 0 |
解决办法
网上搜索了解决办法,主要包含两种一种是PIVOT语句,另一种是case when子句实现,而我是用第一种方法实现的,代码如下: