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

    create table tb(name varchar(10),subject varchar(10),mark int)
    
    insert into tb values('A',         '语文',      80)
    insert into tb values('A',         '数学',      80)
    insert into tb values('A',         '外语',      80 )
    insert into tb values('B',         '数学',      80)
    insert into tb values('B',         '外语',      80)
    insert into tb values('C',         '语文',      78)
    
    select name ,
      max(case subject when '语文' then mark else 0 end) '语文',
      max(case subject when '数学' then mark else 0 end) '数学',
      max(case subject when '外语' then mark else 0 end) '外语',
      sum(mark)/(select max(cnt) cnt from (select name , count(*) cnt from tb group by name) t) [avg]
    from tb
    group by name
    
    declare @sql varchar(8000)
    set @sql = 'select Name as ' + '姓名'
    select @sql = @sql + ' , sum(case Subject when ''' + Subject + ''' then mark else 0 end) [' + Subject + ']'
    from (select distinct Subject from tb) as a
    set @sql = @sql + ' ,sum(mark)/(select max(cnt) cnt from (select name , count(*) cnt from tb group by name) t) [avg] from tb group by name'
    exec(@sql) 
    
  • 相关阅读:
    linux下配置redis
    前端之JavaScript:JS之DOM对象一
    前端之JavaScript:JavaScript对象
    css样式之补充
    css属性中常见的操作方法
    css属性操作
    css选择器
    html 表单操作
    前端基础之html
    1231211221211221
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/9809519.html
Copyright © 2011-2022 走看看