SQL常用转化函数


Oracle:

-- Oracle 行转列 pivot函数基本用法
select *
  from SalesList pivot(
    max(salesNum) for shangPin in (   --shangPin 即要转成列的字段
        '上衣' as 上衣,    --max(salesNum) 此处必须为聚合函数,
        '裤子' as 裤子,       --in () 对要转成列的每一个值指定一个列名
        '袜子' as 袜子,
        '帽子' as 帽子
    )
  )
 where 1 = 1;    --这里可以写查询条件,没有可以直接不要where

SQL Server

-- 行列转化
select * from Score1 pivot (sum(Score) for Subject in (语文,数学)) b
select * from Score2 unpivot (Score for Subject in (Chinese,Math)) b