【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3621字,纯文字阅读大概需要6分钟。
内容图文
![【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。](/upload/InfoBanner/zyjiaocheng/860/63c4e01487aa4da284c7990f3c0e453d.jpg)
有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。
CREATE TABLE `T1` ( `ID` DOUBLE, `NAME` VARCHAR(300), `SCORE` DOUBLE);INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('1','N1','59');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('2','N2','66');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('3','N3','78');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('4','N1','48');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('5','N3','85');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('6','N5','51');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('7','N4','98');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('8','N5','53');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('9','N2','67');INSERT INTO `T1` (`ID`, `NAME`, `SCORE`) VALUES('10','N4','88'); |
1、查询单分数最高的人和单分数最低的人。
2、查询两门分数加起来的第2至5名。
3、查询两门总分数在150分以下的人。
4、查询两门平均分数介于60和80的人。
5、查询总分大于150分,平均分小于90分的人数。
6、查询总分大于150分,平均分小于90分的人数有几个。
A ? ? ? ? ?答案如下所示: ? ? ? ? ?
1、查询单分数最高的人和单分数最低的人。
mysql> SELECT * FROM T1 WHERE SCORE IN (SELECT MAX(SCORE) FROM T1 UNION ALL SELECT MIN(SCORE) FROM T1);+------+------+-------+| id | name | score |+------+------+-------+| 4 | n1 | 48 || 7 | n4 | 98 |+------+------+-------+2 rows in set (0.03 sec) |
2、查询两门分数加起来的第2至5名。
mysql> SELECT NAME,SUM(SCORE) FROM T1 GROUP BY NAME ORDER BY SUM(SCORE) DESC LIMIT 1,4;+------+------------+ | name | sum(score) | +------+------------+ | n3 | 163 | | n2 | 133 | | n1 | 107 | | n5 | 104 | +------+------------+ |
3、查询两门总分数在150分以下的人。
mysql> SELECT NAME, SUM(SCORE) FROM T1 GROUP BY NAME HAVING SUM(SCORE) < 150;+------+------------+| name | sum(score) |+------+------------+| n1 | 107 || n2 | 133 || n5 | 104 |+------+------------+3 rows in set (0.00 sec) |
4、查询两门平均分数介于60和80的人。
mysql> SELECT NAME,AVG(SCORE) FROM T1 GROUP BY NAME HAVING AVG(SCORE) BETWEEN 60 AND 80;+------+------------+| name | avg(score) |+------+------------+| n2 | 66.5 |+------+------------+1 row in set (0.02 sec) |
5、查询总分大于150分,平均分小于90分的人数。
mysql> SELECT NAME,SUM(SCORE),AVG(SCORE) FROM T1 GROUP BY NAME HAVING SUM(SCORE)>150 AND AVG(SCORE)<90;+------+------------+------------+ | name | sum(score) | avg(score) | +------+------------+------------+ | n3 | 163 | 81.5 | +------+------------+------------+ 1 row in set (0.00 sec) |
6、查询总分大于150分,平均分小于90分的人数有几个。
mysql> SELECT COUNT(NAME) FROM T1 GROUP BY NAME HAVING SUM(SCORE) > 150 AND AVG(SCORE) < 90;+----------------------+| count(distinct name) |+----------------------+| 1 |+----------------------+1 row in set (0.04 sec) |
|
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 文章内容来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
内容总结
以上是互联网集市为您收集整理的【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。全部内容,希望文章能够帮你解决【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。