zoukankan      html  css  js  c++  java
  • SQL中列转行

         表结构:

            

        结果:

       

      最近在项目中的一个列转行问题,在这里记录下来!遇到这个问题的园友修改修改可以直接拿走!!

       

    View Code
    create table  #tempzjl  (realname varchar(50),hour2 INT default(0),connectcount INT default(0))
      
    insert into #tempzjl
    select [RealName] as [RealName],datepart(hh,ConnectTime) as hour2,COUNT(isnull(ConnectTime,0)) as ConnectCount
            from GetSupportorView 
            group by datepart(hh,ConnectTime),[RealName]
    
    insert into #tempzjl (realname,hour2,connectcount) 
    select #tempzjl.realname,-1,sum(connectcount) from #tempzjl group by #tempzjl.realname
    
    SELECT 
          realname, 
          MAX(CASE hour2 WHEN 1 THEN connectcount ELSE 0 END) AS '1',
          MAX(CASE hour2 WHEN 2 THEN connectcount ELSE 0 END) AS '2',
          MAX(CASE hour2 WHEN 3 THEN connectcount ELSE 0 END) AS '3',
          MAX(CASE hour2 WHEN 4 THEN connectcount ELSE 0 END) AS '4',
          MAX(CASE hour2 WHEN 5 THEN connectcount ELSE 0 END) AS '5',
          MAX(CASE hour2 WHEN 6 THEN connectcount ELSE 0 END) AS '6',
          MAX(CASE hour2 WHEN 7 THEN connectcount ELSE 0 END) AS '7',
          MAX(CASE hour2 WHEN 8 THEN connectcount ELSE 0 END) AS '8',
          MAX(CASE hour2 WHEN 9 THEN connectcount ELSE 0 END) AS '9',
          MAX(CASE hour2 WHEN 10 THEN connectcount ELSE 0 END) AS '10',
          MAX(CASE hour2 WHEN 11 THEN connectcount ELSE 0 END) AS '11',
          MAX(CASE hour2 WHEN 12 THEN connectcount ELSE 0 END) AS '12',
          MAX(CASE hour2 WHEN 13 THEN connectcount ELSE 0 END) AS '13',
          MAX(CASE hour2 WHEN 14 THEN connectcount ELSE 0 END) AS '14',
          MAX(CASE hour2 WHEN 15 THEN connectcount ELSE 0 END) AS '15',
          MAX(CASE hour2 WHEN 16 THEN connectcount ELSE 0 END) AS '16',
          MAX(CASE hour2 WHEN 17 THEN connectcount ELSE 0 END) AS '17',
          MAX(CASE hour2 WHEN 18 THEN connectcount ELSE 0 END) AS '18',
          MAX(CASE hour2 WHEN 19 THEN connectcount ELSE 0 END) AS '19',
          MAX(CASE hour2 WHEN 20 THEN connectcount ELSE 0 END) AS '20',
          MAX(CASE hour2 WHEN 21 THEN connectcount ELSE 0 END) AS '21',
          MAX(CASE hour2 WHEN 22 THEN connectcount ELSE 0 END) AS '22',
          MAX(CASE hour2 WHEN 23 THEN connectcount ELSE 0 END) AS '23',
          MAX(CASE hour2 WHEN 24 THEN connectcount ELSE 0 END) AS '24',
          MAX(CASE hour2 WHEN -1 THEN connectcount ELSE 0 END) AS '总计'
    FROM #tempzjl
    GROUP BY realname
    
    drop table #tempzjl
  • 相关阅读:
    Can't remove netstandard folder from output path (.net standard)
    website项目的reference问题
    The type exists in both DLLs
    git常用配置
    Map dependencies with code maps
    How to check HTML version of any website
    Bootstrap UI 编辑器
    网上职位要求对照
    Use of implicitly declared global variable
    ResolveUrl in external JavaScript file in asp.net project
  • 原文地址:https://www.cnblogs.com/monian/p/2514721.html
Copyright © 2011-2022 走看看