最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析SQL語(yǔ)句行列轉(zhuǎn)換的兩種方法 case...when與pivot函數(shù)的應(yīng)用

 更新時(shí)間:2013年08月15日 09:59:05   作者:  
SQL語(yǔ)句行列轉(zhuǎn)換的兩種方法 case...when和pivot函數(shù)應(yīng)用,運(yùn)用pivot 函數(shù)只支持?jǐn)?shù)據(jù)庫(kù)版本2005以上的。一般運(yùn)用case when else end 的方法比較多,比較普遍

/*創(chuàng)建數(shù)據(jù)庫(kù)*/
 CREATE DATABASE tmp
 go
 USE tmp
 go

/*創(chuàng)建數(shù)據(jù)庫(kù)測(cè)試表*/
CREATE TABLE [Scores]
     (
       [ID] INT IDENTITY(1, 1)
                PRIMARY KEY ,
       [Student] VARCHAR(20) ,
       [Subject] VARCHAR(30) ,
       [Score] FLOAT
     )

go

TRUNCATE TABLE Scores
 /*插入數(shù)據(jù)庫(kù)測(cè)試數(shù)據(jù)信息*/
  INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'test001', '語(yǔ)文', '90' )
 INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'test001', '英語(yǔ)', '85' )
 INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'text002', '語(yǔ)文', '90' )
 INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'text002', '英語(yǔ)', '80' )
 INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'test003', '語(yǔ)文', '95' )
 INSERT  INTO Scores
         ( Student, Subject, Score )
 VALUES  ( 'test003', '英語(yǔ)', '85' )

/*1.  case when .......then else  ....end 用法,行列轉(zhuǎn)換*/
 SELECT  Student AS '姓名' ,
         MAX(CASE Subject
               WHEN '語(yǔ)文' THEN Score
               ELSE 0
             END) AS '語(yǔ)文' ,--如果這個(gè)行是“語(yǔ)文”,就選此行作為列
        MAX(CASE Subject
               WHEN '英語(yǔ)' THEN Score
               ELSE 0
             END) AS '英語(yǔ)'
FROM    Scores
 GROUP BY Student
 ORDER BY Student

/*2. pivot(聚合函數(shù)(要轉(zhuǎn)成列值的列名)
       for 要轉(zhuǎn)換的列
       in(目標(biāo)列名)
   )*/

SELECT  Student AS '姓名' ,
         AVG(語(yǔ)文) AS '語(yǔ)文' ,
         AVG(英語(yǔ)) AS '英語(yǔ)'
FROM    Scores PIVOT( AVG(Score) FOR Subject IN ( 語(yǔ)文, 英語(yǔ) ) )as NewScores
 GROUP BY Student
 ORDER BY Student ASC

相關(guān)文章

最新評(píng)論

东安县| 博罗县| 洞头县| 石嘴山市| 江山市| 普兰县| 宁波市| 长葛市| 乐都县| 扎兰屯市| 扶风县| 莎车县| 正宁县| 皋兰县| 厦门市| 通许县| 东明县| 兴化市| 香格里拉县| 昆山市| 栾城县| 彭州市| 临武县| 阿拉善右旗| 博兴县| 蚌埠市| 遵义市| 阿巴嘎旗| 米脂县| 电白县| 虞城县| 承德市| 自治县| 永丰县| 金塔县| 明星| 定西市| 乐清市| 故城县| 滦平县| 和静县|