博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
显示学生各科成绩和总成绩-面试被问到
阅读量:5318 次
发布时间:2019-06-14

本文共 706 字,大约阅读时间需要 2 分钟。

表结构如下:

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 ;

转载于:https://www.cnblogs.com/baizhanshi/p/5287246.html

你可能感兴趣的文章
关于iOS不同类型键盘的切换
查看>>
oracle 创建自定义的流水号
查看>>
JavaScript面向对象编程之创建对象
查看>>
路由嵌套和参数传递、路由切换动画 示例
查看>>
1.10 HDU 1007 Quoit Design
查看>>
更新后的扫雷V2.0
查看>>
String、StringBuffer与StringBuilder之间区别
查看>>
索引优化-2
查看>>
php关于static关键字
查看>>
ProviderManager
查看>>
npm install 安装过程卡住不动
查看>>
Python 一键获取百度网盘提取码
查看>>
linux目录管理命令
查看>>
python加载sqlite3报错:No module named _sqlite3
查看>>
spring3+quartz2
查看>>
让bootstrap的垂直菜单默认打开
查看>>
传智播客--ADO.net--SqlBulkCopy批量插入数据(小白必知)
查看>>
备战NOIP——模板复习21
查看>>
20145304 《信息安全系统设计基础》第1周学习总结
查看>>
谈谈报表开发应该注意的几个问题——part 1
查看>>