十二、MySQL(DQL)分组/排序/分页查询如何实现?

这篇具有很好参考价值的文章主要介绍了十二、MySQL(DQL)分组/排序/分页查询如何实现?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

总括

select 字段列表 from 表名 [where 条件] (group by)/(order by)/(limit) 分组字段名

分组查询

1、分组查询

(1)基础语法:

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组之后的过滤条件]

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

(2)注意事项:

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

(3)理解: 

        select后的“字段列表”是由from后的参数决定的,where的执行时间在分组操作之前,having的执行时间在分组操作之后。

执行时间:where>分组操作>having

# 先根据“where”后参数,对表格进行初始过滤,得到新表格1,
# 再根据“group by”后参数对新表格1进行分组,根据分组结果得到一个新的数据类型,
# 将这个新的数据类型作为传入参数,传入having后的聚合函数,

新的数据类型

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

2、实际操作:

(1)根据性别分组,并统计男女员工的数量

# 1、根据性别分组,并统计男员工数量,以及女员工数量
select count(*) from things group by type;
select type,count(*) from things group by type;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

(2)根据性别分组,并统计男性员工和女性员工的平均年龄

# 2、根据性别分组,并统计男性员工和女性员工的平均年龄
select type,avg(age) from things group by type;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

(3)查询年龄大于等于20岁的员工,再根据性别分组,最后得到员工数量大于3的性别

# 3、查询年龄大于等于20岁的员工,再根据性别分组,最后得到员工数量大于3的性别
select type,count(*) from things where age>=20 group by type having count(*)>=3;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

排序查询

1、基础语法:

先根据字段1进行排序,对于相同值,再根据字段2进行排序。

select 字段列表 from 表名 order by 字段1 排序方式,字段2 排序方式2,……
其中,排序方式分为ASC(升序,默认)和DESC(降序)两种

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

2、实际操作:

先根据time进行排序,对于time相同的数据,再根据age进行排序;

select * from people order by time,age;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

分页查询

1、基础语法:

select 字段列表 from 表名 limit 起始索引,查询记录数;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

2、实际操作:

(1)初始表格:

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

(2)起始索引为0,每页显示5条数据

select * from people limit 0,5;
select * from people limit 8,5; # 起始索引是8,也就代表起始数据是第9条数据

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

实例操作

初始表格:

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

操作:

# 查询年龄为19和20岁的男性
select * from people where type='男' and age in(19,20);

# 查询性别为男,并且年龄在20~40岁之间,并且时间在2010~2025之间的员工
select * from people where type='男' and (time between 2010 and 2025) and (age between 20 and 40);

# 统计员工表中,年龄小于等于40岁,男性员工和女性员工的数量
select type,count(*) from people where age<=40 group by type;

# 查询所有年龄小于35岁员工的姓名和年龄,并对查询结果进行升序排列,如果年龄相同,则按照时间进行排序。
select name,age,time from people where age<35 order by age,time;

# 查询性别为男,且年龄在20~45之间前五个员工的信息,对查询结果按照升序排列,年龄相同按照时间排序
select * from people where type='男' and age between 20 and 45 order by age,time limit 0,5;

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析

十二、MySQL(DQL)分组/排序/分页查询如何实现?,MYSQL,sql,数据库,mysql,运维,数据分析文章来源地址https://www.toymoban.com/news/detail-694430.html

到了这里,关于十二、MySQL(DQL)分组/排序/分页查询如何实现?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql单表查询,排序,分组查询,运算符

    查询插入的数据据 – 1. 查询出部门编号为30的所有员工 – 2. 所有销售员的姓名、编号和部门编号。 – 3. 找出奖金高于工资的员工。 – 4. 找出奖金高于工资60%的员工。 – 5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 – 6. 找出部门编号为10中

    2024年02月13日
    浏览(43)
  • 【ElasticSearch】JavaRestClient实现文档查询、排序、分页、高亮

    先初始化JavaRestClient对象: 代码和DSL对应上就是: 运行结果: 然后是对结果的解析,对照响应结果: 示例代码: 运行结果: 总结: 构建DSL是通过HighLevelRestClient中的resource()方法来实现的,这里包含了查询、排序、分页、高亮等操作 构建查询条件的核心部分,即查询类型,

    2024年02月14日
    浏览(47)
  • SpringBoot 整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮

    准备一个空的SpringBoot项目 写入依赖 注意你的SpringBoot和你的es版本,一定要对应,如果不知道的可以查看这篇文章:https://blog.csdn.net/u014641168/article/details/130386872 我的版本是2.2.6,所以用的ES版本是 6.8.12,安装es请看这篇文章:https://blog.csdn.net/u014641168/article/details/130622430 查看

    2024年02月08日
    浏览(53)
  • Mysql 如何分组查询取最新的几种方案

    示例: SELECT * FROM ( SELECT *, row_number ( ) over ( PARTITION BY 分组字段 ORDER BY 排序字段 DESC ) AS rn FROM 表 ) pca WHERE pca.rn = 1 解释: 1. rn字段:返回的是分组内的结果排序依次递增 2. 分组字段:进行分组的字段 3. 排序字段:需要取最新逻辑的字段 注意: row_number函数得到的字段rn不能

    2024年02月06日
    浏览(37)
  • MySQL 分组排序后 → 如何取前N条或倒数N条

    晚上,老婆辅导女儿写语文作业 填空题:春天来了,__绿了 女儿:春天来了,爸爸绿了 老婆一脸不悦地问道:你再说一遍,春天来了,什么玩意绿了? 女儿:春天来了,爸爸绿了呀 老婆很生气,但依旧温柔地问道:春天来了,爸爸怎么绿了呢 女儿略带哭腔的说道:那冬天

    2024年02月05日
    浏览(32)
  • Spring Boot 集成 ElasticSearch:实现模糊查询、批量 CRUD、排序、分页和高亮功能

    文章来源:https://blog.csdn.net/qq_52355487/article/details/123805713 在pom.xml里加入如下依赖 非常重要:检查依赖版本是否与你当前所用的版本是否一致,如果不一致,会连接失败! 1.创建、判断存在、删除索引 2.对文档的CRUD 创建文档: 注意:如果添加时不指定文档ID,他就会随机生成

    2024年02月04日
    浏览(42)
  • Mysql分组排序取每组第一条(二种实现方式)

    记录一下最近的一个需求,查不同产品排名第一的图片作为主图 其实一开始想用的是 mybatis的级联查询 ,结果说需要一次性全部查出来 那就没事了,改 sql 咯: 亲测实用 MySQL:8.0 Java:1.8 建表语句: 这一种也是网上推荐最多的,但个人觉得局限性太大,不介意用在实战上

    2024年02月06日
    浏览(41)
  • 如何在 Python 中执行 MySQL 结果限制和分页查询

    限制结果数量 示例 1: 获取您自己的 Python 服务器 选择 \\\"customers\\\" 表中的前 5 条记录: 如果您想返回从第三条记录开始的五条记录,可以使用 \\\"OFFSET\\\" : 示例 2: 从位置 3 开始,返回 5 条记录 示例 注意:您可以使用JOIN代替INNER JOIN,它们都会给您相同的结果。 在上面的示

    2024年02月05日
    浏览(51)
  • MySQL之DQL——查询语言

    前言         今天给大家带来关于数据库查询相关操作,希望各位看官能看个愉快   目录 一、基本概念 1.1、基本概念 1.2、SQL语言的分类 1.3、数据库的存储特点 二、MySQL   2.1、 MySQL服务的登录和退出   2.2、 MySQL服务的启动和停止 2.3、MySQL常见数据指令 2.4、MySQL语法规范

    2023年04月24日
    浏览(43)
  • 十、MySQL(DQL)条件查询

    :表示且 and:表示且 between……and……:between之后为最小值,and之后为最大值 or:表示或 in(参数1,参数2,参数3……):符合参数即可输出 _下划线:每一个下划线,代表一个占位 %数字:表示从末尾开始匹配,符合即可输出

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包