1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      sql語句如何實現(xiàn)行轉(zhuǎn)列

      這篇文章將為大家詳細講解有關(guān)sql語句如何實現(xiàn)行轉(zhuǎn)列,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

      成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元雙牌做網(wǎng)站,已為上家服務(wù),為雙牌各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

      前言

      一般在做數(shù)據(jù)統(tǒng)計的時候會用到行轉(zhuǎn)列,假如要統(tǒng)計學(xué)生的成績,數(shù)據(jù)庫里查詢出來的會是這樣的,但這并不能達到想要的效果,所以要在查詢的時候做一下處理,下面話不多說了,來一起看看詳細的介紹。

      sql語句如何實現(xiàn)行轉(zhuǎn)列         

      CREATE TABLE TestTable(
       [Id] [int] IDENTITY(1,1) NOT NULL,
       [UserName] [nvarchar](50) NULL,
       [Subject] [nvarchar](50) NULL,
       [Source] [numeric](18, 0) NULL
      ) ON [PRIMARY]
      go
      INSERT INTO TestTable ([UserName],[Subject],[Source]) 
       SELECT N'張三',N'語文',60 UNION ALL
       SELECT N'李四',N'數(shù)學(xué)',70 UNION ALL
       SELECT N'王五',N'英語',80 UNION ALL
       SELECT N'王五',N'數(shù)學(xué)',75 UNION ALL
       SELECT N'王五',N'語文',57 UNION ALL
       SELECT N'李四',N'語文',80 UNION ALL
       SELECT N'張三',N'英語',100
      GO

      這里我用了三種方法來實現(xiàn)行轉(zhuǎn)列第一種:靜態(tài)行轉(zhuǎn)列

      select UserName 姓名,
      sum(case Subject when '語文' then Source else 0 end) 語文,sum(case Subject when '數(shù)學(xué)' then Source else 0 end) 數(shù)學(xué),
      sum(case Subject when '英語' then Source else 0 end) 英語 from TestTable group by UserName

      用povit行轉(zhuǎn)列

      select * from 
      (select UserName,Subject,Source from TestTable) testpivot(sum(Source) for Subject in(語文,數(shù)學(xué),英語)
      ) pvt

      用存儲過程行轉(zhuǎn)列

      alter proc pro_test
      @userImages varchar(200),
      @Subject varchar(20),
      @Subject1 varchar(200),
      @TableName varchar(50)
      as
       declare @sql varchar(max)='select * from (select '+@userImages+' from'+@TableName+') tab
      pivot
      (
      sum('+@Subject+') for Subject('+@Subject1+')
      ) pvt'
      exec (@sql)
      go
      exec pro_test 'UserName,Subject,Source',
      'TestTable',
      'Subject',
      '語文,數(shù)學(xué),英語'

      它們的效果都是這樣的

      sql語句如何實現(xiàn)行轉(zhuǎn)列

      以上三種方式實現(xiàn)行轉(zhuǎn)列,我們可以根據(jù)自己的需求采用不同的方法

      關(guān)于“sql語句如何實現(xiàn)行轉(zhuǎn)列”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


      分享名稱:sql語句如何實現(xiàn)行轉(zhuǎn)列
      文章路徑:http://www.ef60e0e.cn/article/pciooh.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        当涂县| 陇川县| 乐安县| 内乡县| 芦山县| 武定县| 麻江县| 巴东县| 稷山县| 徐州市| 吉安县| 凯里市| 凤翔县| 尖扎县| 开封市| 宁陵县| 西丰县| 敦化市| 澳门| 萨迦县| 乌拉特中旗| 舞阳县| 分宜县| 米易县| 团风县| 锡林郭勒盟| 靖西县| 舒兰市| 色达县| 冕宁县| 峡江县| 武乡县| 双江| 九江市| 资中县| 繁昌县| 隆林| 普定县| 叙永县| 衡阳市| 阳曲县|