zoukankan      html  css  js  c++  java
  • sql行转列

    DECLARE @t_Stu TABLE(
        [学生姓名] NVARCHAR(10),
        [课程名称] NVARCHAR(10),
        [考试成绩] INT
    );
    
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'张三',N'英语',88)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'张三',N'数学',87)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'李四',N'英语',92)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'李四',N'数学',90)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'王五',N'英语',79)
    INSERT INTO @t_Stu( 学生姓名, 课程名称, 考试成绩 )VALUES  ( N'王五',N'数学',90)

    找出英语成绩大于数学成绩的学生并列出来

    SELECT * FROM @t_Stu/*数据源*/
    AS p
    PIVOT
    (
        SUM(p.考试成绩/*行转列后 列的值*/) FOR 课程名称/*需要行转列的列*/ IN ([英语],[数学]/*列的值*/)
    ) AS T WHERE [英语]>[数学]

  • 相关阅读:
    20170519
    20170515
    20170511
    20170509
    20170505
    使用 FirewallD 构建动态防火墙
    Elasticsearch 5.2.1Cluster 搭建
    elk,centos7,filebeat,elasticsearch-head详细安装步骤
    elk,centos7,filebeat,elasticsearch-head集成搭建
    memcached
  • 原文地址:https://www.cnblogs.com/zhyue93/p/sql_pivot1.html
Copyright © 2011-2022 走看看