一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

      服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
      分類導(dǎo)航

      Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

      服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - 淺析SQL語句行列轉(zhuǎn)換的兩種方法 case...when與pivot函數(shù)的應(yīng)用

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

      2020-01-08 16:41MSSQL教程網(wǎng) Mysql

      SQL語句行列轉(zhuǎn)換的兩種方法 case...when和pivot函數(shù)應(yīng)用,運(yùn)用pivot 函數(shù)只支持?jǐn)?shù)據(jù)庫版本2005以上的。一般運(yùn)用case when else end 的方法比較多,比較普遍

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

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

      go

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

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

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

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

      延伸 · 閱讀

      精彩推薦
      主站蜘蛛池模板: 免费标准高清看机机桶机机 | 日本在线小视频 | 美女扒开肌肌让男人桶 | 成年人在线视频观看 | 日韩视频在线观看中字 | 动漫美女被羞羞产奶 | 欧洲女同同性videos0 | 欧美一级欧美三级在线 | a性片| 亚洲第一人黄所 | 美女无内裤下部黄 | 3d欧美人禽交 | 国产欧美曰韩一区二区三区 | 亚洲狼人香蕉香蕉在线28 | 男生操女生动态图 | 国产欧美日韩精品高清二区综合区 | 国内精品中文字幕 | 亚洲日本中文字幕在线2022 | piss美女厕所小便 | 成人毛片高清视频观看 | www一区二区 | 亚洲天堂网站 | 国产主播精品在线 | 男人桶女下面60分钟视频 | 欧美日韩国产一区二区三区不卡 | 私人影院在线免费观看 | 999任你躁在线精品免费不卡 | 日韩成a人片在线观看日本 日韩不卡一区二区 | 国产不卡视频 | 韩日理论片 | 欧美视频一 | 四虎国产精品免费入口 | www.国产一区二区三区 | 精品视频网站 | 天天爱天天插 | 免费高清在线 | 国产一区二区精品久久 | a级亚洲片精品久久久久久久 | 久久re视频这里精品一本到99 | 国产人人草 | avtt手机版 |