• 显示学生各科成绩和总成绩-面试被问到


    表结构如下:

    name    schedule   score

    '张三'     '语文'         '20'
    '张三'     '数学'         '60'
    '张三'     '英语'         '80'
    '李四'     '数学'         '30'
    '李四'     '英语'         '60'
    '李四'     '语文'         '80'

    想要的结果如下:

    姓名    语文   数学   英语   总成绩

    '张三',  '20',  '60',  '80',  '160'
    '李四',  '80',  '30',  '60',  '170'

    需要的sql 语句如下:

    select t.name,
    sum((case when t.schedule ='语文' then t.score ELSE 0 END)) AS 语文,
    sum((case when t.schedule ='数学' then t.score ELSE 0 END)) AS 数学,
    sum((case when t.schedule ='英语' then t.score ELSE 0 END)) AS 英语,
    sum(t.score) as 总成绩
    from account t
    group by t.name;

    另外想要获取 每门课的最高成绩的学生信息sql语句的写法:

    select b.* from (select max(score) score,`subject` from classes group by subject) a,classes b
    where a.score = b.score and a.subject = b.subject ;

  • 相关阅读:
    css概述五
    css概述四
    css概述三
    css概述二
    css概述
    Python的第三方web开发框架Django
    Python中的模块和包
    SQL语句优化
    数据库向Excel写入数据
    动态拼接sql语句
  • 原文地址:https://www.cnblogs.com/baizhanshi/p/5287246.html
Copyright © 2020-2023  润新知