zoukankan      html  css  js  c++  java
  • SQL竖表转换成横表统计

    转换前:

    id name subject score
    1 张三 语文 80
    2 张三 数学 90
    3 李四 数学 85
    4 张三 英语 75
    5 李四 语文 85
    6 李四 英语 80

    转换后:

    姓名 语文 数学 英语
    李四 85 85 80
    张三 80 90 75

     

     

    查询: 

    SELECT * FROM(
      SELECT name as [姓名], 
      SUM(CASE WHEN [subject] = '语文' THEN score END) AS [语文], 
      SUM(CASE WHEN [subject] = '数学' THEN score END) AS [数学], 
      SUM(CASE WHEN [subject] = '英语' THEN score END) AS [英语] 
      FROM [user] GROUP BY name
    ) temp

    平均分(with cube):

    姓名 语文 数学 英语
    李四 85 85 80
    张三 80 90 75
    NULL 82 87 77

     

    查询:

    SELECT [姓名],AVG([语文])as [语文],AVG([数学])as [数学],AVG([英语])as [英语] FROM(    
    SELECT name as [姓名],
      SUM(CASE WHEN [subject] = '语文' THEN score END) AS [语文],
       SUM(CASE WHEN [subject] = '数学' THEN score END) AS [数学],
       SUM(CASE WHEN [subject] = '英语' THEN score END) AS [英语]    
      FROM [user] GROUP BY name
    ) temp group by [姓名] with cube
  • 相关阅读:
    excel合并单元格
    layer单元格合并
    跨域打开页面:Uncaught DOMException: Blocked a frame with origin
    nginx配置ws
    123
    java集合框架初探-迭代器
    java集合框架初探
    123123
    java switch
    java-测试开始map基本操作
  • 原文地址:https://www.cnblogs.com/tearer/p/2457083.html
Copyright © 2011-2022 走看看