今天第一次接触SQL列行转换,自己是利用case when实现。
一:关于case when的语法
case [col_name] when [value1] then [result1] else [default] end
其实类似于C语言中的switch case,先判断case里面的,在于when做判断。说的不是太清楚,后面会有例子来说明
**
二:案例说明
**
图一:原department表(题目来自于leetcode)
目标:实现图二的需求
第一步:先按照月份(month)分开,符合条件的设置revenue
select id,
(case month when ‘Jan’ then revenue end) as Jan_Revenue,
(case month when ‘Feb’ then revenue end) as Feb_Revenue,
(case month when ‘Mar’ then revenue end) as Mar_Revenue
from depart