MySql教程

【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。

本文主要是介绍【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Q          题目如下所示:


有如下表结构,其中,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)





DB笔试面试历史连接  

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w



watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


About Me:小麦苗      

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 文章内容来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处


长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

这篇关于【DB笔试面试92】在MySQL中,有如下表结构,其中,NAME字段代表“姓名”,SCORE字段代表“分数”。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!