文章目录

  • 前言
  • 一、分组查询
  • 二、分页查询
  • 总结

前言

分组查询和分页查询也是开发中用到的对数据库表的查询操作。下述代码都是通过stu表,内容如下图:


一、分组查询

        1.查询男同学和女同学各自的数学平均分

SELECT sex,AVG(math) FROM stu GROUP BY sex;

  运行结果: 

  

        2.查询男同学和女同学各自的数学平均分,以及各自人数

SELECT sex,AVG(math),COUNT(*) FROM stu GROUP BY sex;

        运行结果:

​​​​​​​        ​​​​​​​        

        注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

  3.查询男同学和女同学各自的数学平均分,以及各自人数(要求:分数低于70分的不参与分组)

SELECT sex,AVG(math),COUNT(*) FROM stu WHERE math>60 GROUP BY sex;

      运行结果: 

​​​​​​​        ​​​​​​​        ​​​​​​​        

      注意:条件必须写在分组前

        4.查询男同学和女同学各自的数学平均分,以及各自人数(要求:分数低于70分的不参与分组,分组之后人数大于等于2)

SELECT sex,AVG(math),COUNT(*) FROM stu WHERE math>60 GROUP BY sex HAVING COUNT(*)>=2;

  运行结果: 

WHERE 和 HAVING区别
                1.执行时机不一样:where 分组前限定查询数据,having 分组后过滤数据
                2.可判断条件不一样:where不能对聚合函数进行判断,having 可以。
    执行顺序: where>聚合函数>having

二、分页查询

1. 每页显示2条数据,查询第1页数据

SELECT * FROM stu LIMIT 0,2;

         运行结果:

       2..每页显示2条数据,查询第2页数据

SELECT * FROM stu LIMIT 2,2;

    运行结果: 

      3.每页显示2条数据,查询第3页数据 

SELECT * FROM stu LIMIT 4,2;

 运行结果:

        不难看出起始索引的规律如下:     

                起始索引计算公式=(当前页码-1)*每页显示条数

等实际开发时会用到,当前端点击某个页码时在数据库中调用这条语句把起始索引值传进去进行查询相应页的数据在穿给前端进行展示。


总结

分组查询GROUP BY 分页查询LIMIT(开始索引 查询条目数)。起始索引公式计较重要,也比较好记,最好记住。分组一般是统计数据时会用到。

SQL分组查询和分页查询[代码+运行结果+讲解]相关推荐

  1. SQL条件查询,分组查询,排序查询,分页查询

    DQL查询操作(条件查询,分组查询,排序查询,分页查询) 文章目录 DQL查询操作(条件查询,分组查询,排序查询,分页查询) 一.查询语法 二.基础查询 三.条件查询 四.排序查询 五.分组查询 六. ...

  2. sql语句转化为分页查询的一种实现

    /*** 将sql语句转化为分页查询** */public static String addfy4oracle(String sql, int start, int limit, List args ...

  3. Mysql进阶学习(六)子查询与分页查询

    Mysql进阶学习(六)子查询与分页查询 进阶7:子查询 1.含义: 2.分类: 3.where或having后面 3.1 特点: 3.2.标量子查询★ 案例1:谁的工资比 Abel 高? 案例2:返 ...

  4. html 分页_MySQL——优化嵌套查询和分页查询

    Java识堂,一个高原创,高收藏,有干货的微信公众号,欢迎关注 优化嵌套查询 嵌套查询(子查询)可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中.嵌套查询写 ...

  5. oracle数据库同时实现联表查询和分页查询(未明确定义列)

    ps:只是记录新手小白的脱坑之路,大佬勿喷 今天在做前端数据查询的时候,在实现联表查询的同时进行分页查询遇到了令人头秃的问题,分页查询的sql语句是这样的 select * from (select ...

  6. MySQL8.0DQL分组查询和分页查询。文字虽多,代码为主,自学用,谨慎借鉴,有错误请指正

    分组查询 语法 select 分组字段/聚合函数 from 表名 [where +条件:可有可无] group by 分组列名; select 后使用*显示对查询结果进行分组之后,只显示每组的第一条记 ...

  7. Oracle篇--04 Oracle SQL高级查询、分页查询

    1.子查询 子查询是一条SELECT语句,但它是嵌套在其他SQL语句中的,为的是给该SQL提供数据以支持其执行操作. 查看谁的工资高于CLARK?select ename,sal from emp w ...

  8. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  9. SQL Server中的分页查询

    分页查询很简单,具体代码如下: --分页查询--查询1-3行数据 select top 3 * from emp order by sal desc;--查询4-6行数据 select top 3 * ...

最新文章

  1. 中山大学提出新型行人重识别方法和史上最大最新评测基准
  2. Dumpzilla工具第615行bug的解决办法
  3. Excel批量导入数据库
  4. CMM (软件工程与集成产品开发)
  5. MVC5+EF6 入门完整教程 总目录
  6. yum更新php版本,CentOS 5.4 通过yum升级PHP到5.3版本的两种方法
  7. 少年,看你异于常人,有空花2小时来参加有3000人的源码共读嘛~
  8. oracle 各种日期函数格式和操作
  9. leetcode - 55. 跳跃游戏
  10. idea抽取重复方法快捷键_使用 IDEA 几分钟就重构了同事800 行quot;又臭又长quot; 的类!真香!...
  11. iOS-NSUserDefaults缓存自定义对象
  12. 推荐系统笔记三、基于近邻的推荐系统进阶篇
  13. 关于报表在移动端展现你需要知道哪些?
  14. Adobe Flash Player 未能正常运行问题
  15. 软件工程专业学习路线
  16. mysql创建表代码_MySQL------代码建表
  17. 二元一次方程,且求共轭复根2020.11.17
  18. 微波雷达感应技术系统,车库智能照明应用,物联网智能化发展
  19. 码云 注册 注册个性域名报错---已经解决
  20. Java8新特性(二)流式处理

热门文章

  1. python微信自动回复代码_Python 实现微信自动回复的方法
  2. 简单的抽卡模拟器2.0
  3. NixOS 安装教程
  4. 领导合影站位图_会议主席台座次怎么安排?合影时的位置怎么安排?这7组图来告诉你(公务员、商务接待必读)...
  5. Dockerfile构建apache镜像
  6. python小程序之猜水果游戏
  7. jupyter notebook第六章matplotlib库的一些案例分析加相关函数的解析
  8. VPI技术ABB低压变压器AFWF
  9. Android--大转盘
  10. 【Bootstrap导入模板完成实例-与模板完美契合】