Mysql数据库 6.SQL语言 分组、分页查询

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Mysql数据库 6.SQL语言 分组、分页查询

分组查询—group by

分组——就是将数据表中的记录按照指定的类进行分组

关键字——group by

语法

语法中加[]的是可有可无的,group by一般和having一起使用


select 分组字段/聚合函数


from 表名


[where 条件]


group by 分组列名 [having 条件]


[order by 排序字段(列名)]

示例

1.对表中的性别进行分组

代码实现
select stu_gender from students s group by stu_gender ;
运行结果

2.对表中的年龄进行分组并统计每组的人数 select+选择分组字段,聚合函数(统计的列名1)from 表名 group by 列名2;根据列名2进行分组,统计分组后列名1的个数

代码实现
select stu_age ,count(stu_num) from students s group by stu_age ;
运行结果

3.难点:

要求对年龄进行分组,统计各种年龄数量最后对统计后的数量进行排序 oder by放在group by之后

代码实现
select stu_age,count(stu_num) from students s group by stu_age order by count(stu_num) asc;
运行结果

4.要求对年龄进行分组,统计各种年龄数量最后对统计后的数量进行排序 oder by放在group by之后,再筛选出当前组的人数大于1的组

代码实现
select stu_age,count(stu_num) from students s group by stu_age having count(stu_num)>1 order by stu_age ;
运行结果

5.要求对年龄进行分组,统计各种年龄数量里性别为男的数据最后对统计后的数量进行排序 oder by放在group by之后,再筛选出当前组的人数大于1的组

代码实现
select stu_age,count(stu_num) from students s where stu_gender = '男' group by stu_age having count(stu_num)>1 order by stu_age ;
运行结果

6.要求对年龄进行分组,统计各种年龄数量里性别为男的数据最后对统计后的数量进行排序 oder by放在group by之后,再筛选出当前组的人数大于1的组先找出男生数据,再根据年龄进行分组,再找出统计的数据大于1的项,在进行order by排序,排序字段放在最后

代码实现
select stu_age,count(stu_num) from students s where stu_gender = '男' group by stu_age having count(stu_num)>1 order by stu_age ;
运行结果

分页查询-limit

当数据表中的记录比较多的时候,如果一次性全部查询出来显示给用户,用户的可读性/体验性就不好,因此我们可以将这些数据分页进行展示


语法

select 列名 from 表名 where 限制条件 limit param1,param2


param1 int,表示获取查询语句的结果中的第一条数据的索引(索引从0开始)


param2 int,表示获取的查询记录的条数(如果剩下的数据条数<param2,则返回剩下的所有记录)

limit后面跟的两个参数一个指的是开始时的数据,另一个指的是每一页分几条数据(每一页展示几条数据)

通用分页语句如下:

select * from 表名 [where 限制条件] limit (pageNum-1)(页码数-1)*pageSize(每一页的数据个数),pageSize;


数据通用分页的格式 查询每一页显示的第一个数据的下标

注意事项:limit语句写在最后

书写顺序和执行顺序不同


书写:select、form、where、group by、having、order by、limit


执行:from、where、group by、having、select、order by、limit


后续的join 链接关系 优先级高于form


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
2天前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
13天前
|
SQL 缓存 关系型数据库
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
35 7
|
5天前
|
SQL 存储 缓存
MySQL 是怎么执行 SQL 语句的?
MySQL 是怎么执行 SQL 语句的?
10 0
|
8天前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11
|
2月前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
15天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
58 13
MySQL的安装&数据库的简单操作
|
21天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
下一篇
无影云桌面