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`
SQL问题(面试题)的更多相关文章
- SQL经典面试题及答案
1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2 ...
- Sql Server 面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- SQL数据库面试题
SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID ...
- sql 经典面试题及答案(选课表)
SQL数据库面试题以及答案 Student(Sno,Sname,Sage,Ssex) 学生表 Sno:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别Course(Cno ...
- Oracle 之 SQL 面试题 录
多上网查查 SQL 面试题 1.学号(自动编号) 姓名 性别 年龄 0001 xw 男 18 0002 mc 女 16 0003 ww 男 21 0004 xw 男 18 请写出实现如下 ...
- 一道SQL的面试题之联想
一道SQL的面试题之联想 本人工作在一家小型的民营企业,主要从事业务系统的日常维护,二次开发,菜鸟一枚.周五经理准备面试两个开发人员,据简历,都还比较不错,让经理产生了想法,于是准备了一套面试题目,给 ...
- SQL + Python 面试题:之二(难度:中等)
SQL + Python 面试题:之二(难度:中等)
- 【转】SQL语句面试题
1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2 ...
- 最强最全面的大数据SQL经典面试题(由31位大佬共同协作完成)
本套SQL题的答案是由许多小伙伴共同贡献的,1+1的力量是远远大于2的,有不少题目都采用了非常巧妙的解法,也有不少题目有多种解法.本套大数据SQL题不仅题目丰富多样,答案更是精彩绝伦! 注:以下参考答 ...
- Sql 常见面试题
SQL面试题(1) create table testtable1(id int IDENTITY,department varchar(12) ) select * from testtable1i ...
随机推荐
- php字符串替换的几个函数
strtr() str_replace() substr_replace() preg_replace() strtr()的用法: <?php $str = "test"; ...
- Advanced Electronic Engineer
Job Title Advanced Electronic Engineer Job Description In this role, you have the opportunity to Be ...
- Spring Data JPA、MyBatis还有Hibernate有什么区别
原文:https://www.imooc.com/article/19754?block_id=tuijian_wz Spring Data JPA.MyBatis还有Hibernate有什么区别 2 ...
- 20155234 Exp2 后门原理与实践
Windows获得Linux Shell 1.查看ip 2.监听端口 3.实验成功如下图 Linux获得Win Shell 1.查看虚拟机ip 2.监听端口 3.实验成功如下图 使用NC传输数据 1. ...
- LoRa---数据包结构、跳频
数据包结构 跳频扩频技术FHSS 人太懒,直接贴图,自己看!
- PHP7添加opcache.so模块
启动php报错如下: # /usr/local/php7/sbin/php-fpm [-Apr- ::] NOTICE: PHP message: PHP Warning: PHP Startup: ...
- python 网络爬虫介绍
一.网络爬虫相关概念 网络爬虫介绍 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进 ...
- Ansible入门笔记(1)之工作架构和使用原理
目录 Ansible入门笔记(1) 1.Ansible特性 2.ansible架构解析 3.ansible主要组成部分 1)命令执行来源: 2)利用ansible实现管理的方式 3)Ansile-pl ...
- linux下的tar命令详解
通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...
- JDBC详解系列(一)之流程
---[来自我的CSDN博客](http://blog.csdn.net/weixin_37139197/article/details/78838091)--- JDBC概述 使用JDBC也挺长 ...