DQL排序查询以及聚合函数和分组查询还有分页查询

DQL:查询语句

1.排序查询

语法:select * from 表名 order by 列名;

  • order by 排序字段1 排序方式1 ,排序字段1 排序方式2...

排序方式:

  1. ASC:升序,默认的
  2. DESC:降序

注意:

  • 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件

2.聚合函数(将一列数据作为一个整体,进行纵向的计算)

  1.  count:计算个数
    • 一般选择非空的列:主键
    • count(*)
  2.  max:计算最大值
  3.  min:计算最小值
  4.  sum:计算和
  5.  avg:计算平均值

 注意:聚合函数的计算,排除null值

  • 解决方案:
    • 选择不包含非空的列进行计算
    • IFNULL函数

 

3.分组查询

 语法:select 列名(性别),计算平均分(数学成绩) from 表名 group by 列名(性别);

  • group by 列名;

按照性别分组,分别查询男,女同学的平均分,人数

 

 按照性别分组,分别查询男,女同学的平均分,人数 要求:分数低于70分的人,不参与分组

 

 

 按照性别分组,分别查询男,女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后,人数要大于2个人

 

 

 要求:起别名,分组之后 人数要大于2个人

注意:

  1. 分组之后查询字段:分组字段,聚合函数
  2. where having 的区别?
    1. where 在分组之前进行限定,如果不满足条件,则不参与分组,having在分组之后进行限定,如果不满足结果,则不会被查询出来
    2. where后面不能跟聚合函数,因为where执行顺序大于聚合函数,having可以进行聚合函数的判断
  3. 执行顺序 : where  >group by > having

4.分页查询

  1.  语法:limit 开始索引,每页查询的条数;
  2. 公式:开始的索引 = (当前的页码-1)* 每页显示的条数
  3. limit 是一个MySQL“方言”

 

posted @   monkey大佬  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示