SQL查询执行步骤

1、总结 执行顺序
  3、select ...聚合函数 from 表名
  1、where ...
  2、group by ...
  4、having ...
  5、order by ...
  6、limit ...;
2、order by
  1、给查询结果进行排序
  2、... order by 字段名 ASC/DESC
  3、升序:ASC(默认)
    降序:DESC

3、limit (永远放在SQL语句的最后写)
  1、作用 :限制显示查询记录的个数
  2、用法
    1、limit n -> 显示 n 条记录
    2、limit m,n
      m 表示 从第m+1条记录开始显示,显示 n 条
      limit 2,3 : 第 3、4、5 三条记录
    3、分页
      每页显示5条记录,显示第4页的内容
      每页显示n条记录,显示第m页的内容

      第1页 :limit 0,5 # 1 2 3 4 5
      第2页 :limit (2-1)*5,5 # 6 7 8 9 10
      第3页 :limit (3-1)*5,5 # 11 12 13 14 15
      第4页 :limit (4-1)*5,5 # 16 17 18 19 20
.      .....
      第m页 :limit (m-1)*n,n


  4、聚合函数
    1、分类
      avg(字段名) : 求该字段平均值
      sum(字段名) : 求和
      max(字段名) : 最大值
      min(字段名) : 最小值
      count(字段名) : 统计该字段记录的个数

  5、group by
    1、作用 :给查询结果进行分组

    2、注意
      1、group by之后的字段名必须要为select之后的字段名
      2、如果select之后的字段名和group by之后的字段不一致,则必须对该字段进行聚合处理(聚合函数)


  6、having语句
    1、作用
      对查询的结果进行进一步筛选
    2、注意
      1、having语句通常和group by语句联合使用,过滤由group by语句返回的记录集
      2、where只能操作表中实际存在字段,having可操作由聚合函数生成的显示列

实例:

mysql> select avg(gongji) as avg,country from sanguo group by country having avg > 105 order by avg desc limit 2;

猜你喜欢

转载自www.cnblogs.com/zengsf/p/9563089.html
今日推荐