MySQL笔试题搜罗
一、有表如下
+------+---------+--------+
| name | subject | score |
+------+---------+--------+
| 张三 | 数学 | 80 |
| 张三 | 语文 | 53 |
| 张三 | 英语 | 59 |
| 李四 | 数学 | 55 |
| 李四 | 语文 | 56 |
| 李四 | 英语 | 50 |
| 王五 | 数学 | 100 |
| 王五 | 语文 | 90 |
+------+---------+--------+
只用一个select语句查询:不及格科目大于或等于2科的学生,的平均分(所有科目的平均分)。
要点:
1、要统计每个学生不及格科目的个数。
2、计算平均分。
误解一:使用count统计。count永远是统计的所有行!
正解:用sum统计。先计算所有人的平均分,再筛选。
mysql> select name,avg(score),sum(score < 60) as cnt from student group by name having cnt >= 2;
+------+------------+-----+
| name | avg(score) | cnt |
+------+------------+-----+
| 张三 | 64.0000 | 2 |
| 李四 | 53.6667 | 3 |
+------+------------+-----+
2 rows in set</span>
sum(score < 60) 就是统计 挂科数目。
having 是用于筛选的,这里不用用where。where只能用于存在的列。
二、还是上面的表,查询出每个学生最大分数的科目及分数
mysql> select * from student where score in(select max(score) from student group by name);
+------+---------+-------+
| name | subject | score |
+------+---------+-------+
| 张三 | 数学 | 80 |
| 李四 | 语文 | 56 |
| 王五 | 数学 | 100 |
+------+---------+-------+
3 rows in set
三、
一个班级表(class),其中的属性有:id, class_name
一个学生表(student),其中的属性有:id, student_name, class_id
一个成绩表(score),其中的属性有:id, student_id, course_name, score
通过一条sql语句找出各个班级的各个科目的平均成绩,按从大到小排序。
select a.class_name, c.course_name, avg(c.score) as avg
from class a, student b, score c
where a.id=b.class_id and b.id=c.student_id
group by a.class_name, c.course_name
order by avg desc;
需要注意的地方:
(1)avg() 求完平均值后要用as对求得的平均值列命名。
(2)在where后跟多个条件语句的时候,记得使用and 或者 or来连接。
(3)group by 后跟多个列进行分组时,用逗号分开,其表达的意思是先按第一个属性列中的元素进行分组,在分完组的基础上再根据第二个属性列中的元素进行分组。
(4)desc表示从大到小(降序),asc表示从小到大(升序)。
(5)order by 后要写清楚根据那个属性进行升序或者降序进行排序的。
附加一条不在上面出现的值得注意的点:
(1)order by 后跟多个属性时,用逗号隔开,其表达的意思是先根据第一个属性进行升(降)序进行排序,当第一个属性中有相同的值存在的时候,再对这些相同值对应的数据根据第二个属性进行升(降)序进行排序。
MySQL笔试题搜罗的更多相关文章
- mysql笔试题大餐---2、exists加一些查询
mysql笔试题大餐---2.exists加一些查询 一.总结 一句话总结: 实践:我之前的mysql真的学的太浅了,这种情况下,依据实践(做题)才是唯一能把它学好的方式 1.MySQL中EXISTS ...
- mysql笔试题大餐---1、组合查询方式及having
mysql笔试题大餐---1.组合查询方式及having 一.总结 一句话总结: 实践:我之前的mysql真的学的太浅了,这种情况下,依据实践(做题)才是唯一能把它学好的方式 学的暂时够了,以实践而学 ...
- Mysql笔试题(二)
(1)表名:购物信息购物人 商品名称 数量A 甲 2B 乙 4C 丙 ...
- Mysql笔试题
1.查询Student表中的所有记录的Sname.Ssex和Class列. SELECT Sname,Ssex,Class FROM Students; 2.查询教师所有的单位即不重复的Depart列 ...
- PHP笔试题(转载)
整理了一份PHP高级工程师的笔试题,问题很全面.嗯,基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了.下面直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503, ...
- 收藏所用C#技术类面试、笔试题汇总
技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...
- 嵌入式Linux C笔试题积累(转)
http://blog.csdn.net/h_armony/article/details/6764811 1. 嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...
- 整理收藏一份PHP高级工程师的笔试题
整理了一份PHP高级工程师的笔试题,问题很全面.嗯,基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了.下面直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503, ...
- PHP工程师笔试题
PHP工程师笔试题 提示:请将答案写在另外一张空白纸上,并在30分钟内完成. PHP 请写出include.require.include_once.require_noce的区别. include是 ...
随机推荐
- PAT 1119 Pre- and Post-order Traversals
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...
- 清北学堂模拟赛d5t5 exLCS
分析:比较巧妙的一道题.经典的LCS算法复杂度是O(nm)的,理论上没有比这个复杂度更低的算法,除非题目有一些限制.这道题中两个字符串的长度不一样,f[i][j]如果表示第一个串前i个,第二个串前j个 ...
- L - 贪心 基础
Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem. The shor ...
- Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)
一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill等进行.比如一个程序已经死掉, ...
- iphone照片查看器
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- JEval使用实例
jeval是为为你的Java应用程序提供可增加的.高性能.数学. 布尔和函数表达式的解析和运算的高级资源包. 以下这个样例包括了JEval经常使用功能: package demo0; import ...
- 前台JSON字符串,spring mvc controller也接收字符串
前台JSON字符串,spring mvc controller也接收字符串 前台: $.post(url, { data : JSON.stringify(obj) }, function(data) ...
- 2.4-EN_STP
2.4-EN_STP 增强型生成树协议(EN_STP): Spannig Tree port states: blocking 20s+listening 15s+learning 15s最后 ...
- [RxJS 6] The Retry RxJs Error Handling Strategy
When we want to handle error observable in RxJS v6+, we can use 'retryWhen' and 'delayWhen': const c ...
- 1215-Cannot add foreign key constraint
1.错误描写叙述 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/ ...