SQL问题(面试题)
面试完后在本地mysql数据库中重现了该问题
数据表stuscore信息如下:
1、计算每个人的总成绩,并且排名(要求显示字段 学号 姓名 总成绩)
SELECT stuid AS 学号,NAME AS 姓名, SUM(score) AS 总成绩
FROM stuscore GROUP BY stuid ORDER BY 总成绩 DESC
2、计算每个人单科的最高成绩(要求显示字段 学号、姓名、课程、最高成绩)
select stuid AS 学号,NAME AS 姓名,SUBJECT AS 课程,score AS 最高成绩
from stuscore a where score=(select max(score) from stuscore where subject=a.subject)
3、统计如下:课程 不及格(0-59)个 良(60-80)个 优(81-100)个
SELECT subject AS 课程,count(CASE WHEN SCORE<60 then 1 END) AS "不及格(0-59)个",
count(CASE WHEN SCORE BETWEEN 60 AND 80 then 1 END) AS "良(81-100)个",
count(CASE WHEN SCORE BETWEEN 81 AND 100 then 1 END) AS "优(81-100)个"
FROM stuscore GROUP BY `subject`
4、统计如下:课程 张三分数 李四分数 王五分数
SELECT subject AS 课程,SUM(CASE WHEN `name` = "张三" then score ELSE 0 END) AS "张三分数",
SUM(CASE WHEN `name` = "李四" then score END) AS "李四分数",
SUM(CASE WHEN `name` = "王五" then score END) AS "王五分数"
FROM stuscore GROUP BY `subject`
相关文章
- python面试题
- IMWEB 前端面试题汇总
- 【SQL 学习】一个面试题
- 谷歌面试题之扔鸡蛋的问题(蓝桥杯摔手机的问题)
- 【学习总结】SQL的学习-2-sql操作
- (剑指Offer)面试题43:n个骰子的点数
- SQL SERVER服务器链接连接(即sql server的跨库连接)
- 高效“背诵”面试题的三定法则
- Sql Server中sql语句自动换行
- SQL VQ11 找出sql类题目的单次最大刷题数
- Node.js:insert-sql帮助开发者生成SQL插入语句
- 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf
- sql 精读(二) 标准 SQL 中的编号函数
- 软件测试面试题中的sql题目
- SQL常见的一些面试题(太有用啦)
- ios面试题和知识点整理
- 最基础最前面的.NET面试题详解