SqlServer数据库之PIOVT运算符

PIOVT标准格式:

SELECT ...
FROM <source_table_or_table_expression>
    PIVOT(<agg_func>(<aggregation_element>)
          FOR <spreading_element>
             IN (<list_of_target_columns>)) AS <result_table_alias>
...;

用法举例:

1、首先创建一个数据表

CREATE TABLE tScore
(
    ID int,
    Name varchar(10),  //学生姓名
    Subject varchar(20),  //学科
    Score float //成绩
)

2、向Score表插入数据后的展示

IDNameSubjectScore
1张三数学100
2张三语文90
3李四数学95
4李四语文85

 

 

 

 

 

 

 3、行转列 之后变为

IDName数学语文
1张三10090
2李四9585

 

 

 

 

动态Sql写法:

SELECT *
FORM (SELECT ID,Name,Subject,Score from tScore) as a
    PIVOT(SUM(Score) FOR Subject in([语文],[数学])) as p;

所衍生出的知识点:

1、将数据从行转为列的处理,专业点说叫做透视转换

2、将数据从列转为行的处理,专业点说叫做逆透视转换

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值