——————用法在上一章节!!!!!!!

1. 排序查询

  • 语法order by 子句
    order by 排序字段,排序方式, 排序字段2, 排序方式2, ….
  • 排序方式
    • ASC: 升序排序. 默认值;
    • DESC: 降序6.24.8 DQL 查询语句 - 图1
  • 特别注意:如果有多个排序条件,则当前边的条件值一样时, 才会判断第二个条件;每一个字段都可以单独指定排序方式
  • SELECT
    *
    FROM
    student as s
    ORDER BY
    age DESC, math asc;

    2 . 聚合函数

  • 将一列数据作为一个整体,进行纵向的计算

  • 常用聚合函数
    • count 计算个数
      • 一般选择非空的列
      • count(*)
    • max
    • min
    • sum
    • avg
  • 特别注意:

    • 聚合函数的计算,排除null值。
    • 解决办法
      • 选择不包含非空的列进行计算
      • ifnull函数

        3. 分组查询

  • 语法group by 分组字段;

  • 特别注意:
    • 分组之后查询的字段:分组字段、聚合函数
  • where & having的区别
    • where在分组之前进行限定,如果不符合条件则不进行分组; having 在分组之后对结果集进行限定, 如果不满足限定条件,则不会返回结果集,也就是不会被查询出来;
    • where 后不可以跟聚合函数,having可以进行聚合函数的判断。
  • 示例1. 按照性别分组. 分别查询出男/女同学的平均分,总分.
    2. 按照性别分组, 分别查询出, 男女同学的数学平均分, 人数’
    3. 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组;
    4. 按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后。人数要大于2个人;

    4. 分页查询

  • 基础语法limit 开始索引「需要计算的」, 每页查询的条数「定值」

  • 公式==开始的索引 = (当前页码 - 1) * 每页显示的条数==
    • 当前页码是固定值,
    • 每页显示的条数也是固定的.
    • 一般当前页码会由前端传递过来. 这样可以计算出来开始的索引值.
  • 示例
  • limit是mysql中特有的.其它的数据库都有自己的实现;