limit、排序、分组单表查询(三)MySQL数据库(头歌实践教学平台)

您所在的位置:网站首页 sql语句查询结果排序 limit、排序、分组单表查询(三)MySQL数据库(头歌实践教学平台)

limit、排序、分组单表查询(三)MySQL数据库(头歌实践教学平台)

2024-07-14 18:41| 来源: 网络整理| 查看: 265

文章目的初衷是希望学习笔记分享给更多的伙伴,并无盈利目的,尊重版权,如有侵犯,请官方工作人员联系博主谢谢。

目录

第1关:对查询结果进行排序

任务描述

相关知识

对查询结果排序

指定排序方向

编程要求

 第2关:分组查询

任务描述

相关知识

分组查询的单独使用

编程要求

 第3关:使用 LIMIT 限制查询结果的数量

任务描述

相关知识

LIMIT的使用

编程要求

第1关:对查询结果进行排序 任务描述

本关任务:以成绩的降序显示学生成绩表中所有信息。

相关知识

为了完成本关任务,你需要掌握:

结果排序的关键字;指定排序方向的关键字。 对查询结果排序

我们知道在MySQL中从数据表中读取数据都是使用SELECT语句。 如果我们需要对读取的语句进行排序,我们就可以使用Order By子句来设定你想要按照的字段进行排序并返回结果。

语法:

SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];

你还可以根据自己的需求添加WHERE、LIKE子句来设置条件,再对结果过进行排序显示。

现有user表数据如下:

idnameage1Tom322Nancy183Allen244Jason23

我们需要查询表中信息,要求按照年龄的升序进行排序:

指定排序方向

从上面的查询语句中我们并未看到有任何表示排序方向的关键字,在默认情况下,它是按升序排列的。

ASC 升序关键字DESC 降序关键字

编程要求

在右侧编辑器Begin-End处补充代码,查询学生成绩表中1班同学的所有信息并以成绩降序的方式显示结果。

我们已经为你提供了学生成绩表: tb_score表数据:

stu_idclass_idnamescore12Jack8121David7431Mason9242Ethan8951Gina65

测试说明

平台会对你编写的代码进行测试:

预期输出:

USE School; #请在此处添加实现代码 ########## Begin ########## ########## 查询1班同学的所有信息以成绩降序的方式显示结果 ########## select * from tb_score where class_id=1 order by score DESC; ########## End ##########  第2关:分组查询 任务描述

本关任务:对班级表中的班级名称进行分组查询。

相关知识

为了完成本关任务,你只需要掌握分组查询的单独使用。

但是在实际开发中一般不会用到,本章节只作为对分组查询的了解。往后继续学习,我们会介绍分组查询与其他查询一起结合使用。

分组查询的单独使用

分组查询的关键字是Group By,查询的是每个分组中 首次出现的一条记录。

语法:

SELECT 字段名 FROM 表名 GROUP BY 字段名;

例如: 现有user表数据:

idnamesex1Tom男2Nancy女3AllenNull4Jason男

我们对表中数据的性别进行分组查询:

可以看出,返回了3条记录,分别是sex字段值为Null、女、男的记录,查询结果按照sex字段中不同的值进行了分类,只显示每个分组中的一条记录,意义不大,一般情况下,GROUP BY都和聚合函数一起使用。

编程要求

在右侧编辑器Begin-End处补充代码,对班级表中的班级名称进行分组查询。

我们已经为你提供了班级表信息: tb_class表数据:

stu_idclass_idname1367Jack2366David3366Mason4367Ethan5366Gina

测试说明

平台会对你编写的代码进行测试:

预期输出:

USE School; #请在此处添加实现代码 ########## Begin ########## ########## 对班级名称进行分组查询 ########## select * from tb_class group by class_id; #将多组数据简化为一个小组,小组内重复数据不会出现,即366、377班级只出现一次 ########## End ##########  第3关:使用 LIMIT 限制查询结果的数量 任务描述

本关任务:使用LIMIT关键字查询班级中第2名到第5名的学生信息,并根据学生成绩进行降序排序。

相关知识

为了完成本关任务,你需要掌握:LIMIT的基本使用。

LIMIT的使用

在我们查询大量数据结果时,会返回很多条数据,有需要的记录可能就其中的一条或者几条。比如,实现分页功能,若每页显示10条记录,每次查询就只需要10条记录。 在MySQL中,提供了LIMIT关键字,用来限制查询结果的数量。

语法:

SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;

参数说明:

第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0,表示从查询结果的第一条记录开始,若偏移量为1,则从查询结果中的第二条记录开始,以此类推。

第二个参数,记录数,表示返回查询结果的条数。

现有employee表数据如下:

idnameage1Tom232Allen453Nancy324Jack275Rose296Mary18 查询employee表中前4条数据:

从第二条记录开始往后查看4条数据(不包含第二条):

编程要求

在右侧编辑器Begin-End处补充代码,查询班级中第2名到第5名的学生信息,并根据学生成绩进行降序排序。

我们已经为你提供了学生成绩表: tb_score表数据:

idnamescore1Jack892David733Mason624Ethan935Gina766Dorris987kain868Alice91

测试说明

平台会对你编写的代码进行测试:

预期输出:

USE School; #请在此处添加实现代码 ########## Begin ########## ########## 查询班级中第2名到第5名的学生信息 ########## select* from tb_score order by score DESC limit 1,4; ########## End ########## #参数说明: #第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0,表示从查询结果的第一条记录开始,若#偏移量为1,则从查询结果中的第二条记录开始,以此类推。 #第二个参数,记录数,表示返回查询结果的条数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3