pivot和unpivot函数的demo
列转行
select *
from (select '苹果' name, 22 q1, 23 q2, 25 q3, 21 q4
from dual
union
select '橘子' name, 25, 23, 21, 21
from dual
union
select '香蕉' name, 23, 25, 22, 21
from dual) unpivot(nums for colname in(q1, q2, q3, q4));
行转列
select *
from (select 'cs-1' id, '苹果' name, 12 numb
from dual
union
select 'cs-1', '橘子', 16
from dual
union
select 'cs-1', '苹果', 14
from dual
union
select 'cs-1', '香蕉', 15
from dual)
pivot(sum(numb)
for name in('苹果' name1, '橘子' name2, '香蕉' name3));