DQL 查询语句(排序查询、聚合函数、分组查询、分页查询)

1.排序查询

语法:order by 子句
	   order by 排序字段1 排序方式1,排序字段2 排序方式2....

排序方式:
	ASC: 升序,默认
	DESC:降序

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

2.聚合函数

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

1.count:计算个数
	1.一般选择非空的列:主键
	2.count(*)  不推荐使用该符号 
例如:
	select count (name) from student ;
	select count (ifnull(english,0))  from student ;
	select count(*)  from student; 

4.max:计算最大值
3.min:计算最小值
4.sum:计算和
5.avg:计算平均值

例如:
	select max(math) from student; 
	select min(math) from student;
	select sum(math) from student;
	select avg(math) from student;
  
注意:
	聚合函数的计算,排除null值
	解决方案:
		1.选择不包含非空的列进行计算
		2.ifnull函数

分组查询

1.语法:group by 分组字段
2.注意:
	1.分组之后查询的字段:分组字段,聚合函数
	2.where和having的区别?
		1.where在分组之前进行限定,如果不满足条件,则不参与分组
		2.having在分组之后进行限定,如果不满足结果,则不会被查询出来
		3.where后不可以跟聚合函数,having可以进行聚合函数的判断

例如:
select sex,avg(math) from student group by sex;
按照性别分组,分别查询男女同学的数学平均分

select sex,avg(math),count(id) from student group by sex;
按照性别分组,分别查询男女同学的数学平均分,人数

select sex,avg(math),count(id) from student wheremath>70 group by sex;		
按照性别分组,分别查询男女同学的数学平均分,人数,要求:分数低于70的人,不得参与分组

select sex,avg(math),count(id) from student wheremath>70 group by sex having count(id)>2; 
按照性别分组,分别查询男女同学的数学平均分,人数,要求:分数低于70的人,不得参与分组,分组之后,人数要大于两个人

 select sex,avg(math),count(id)  as 人数 from student wheremath>70 group by sex having 人数>2; 
  select sex,avg(math),count(id)  人数 from student wheremath>70 group by sex having 人数>2; 
 按照性别分组,分别查询男女同学的数学平均分,人数,要求:分数低于70的人,不得参与分组,分组之后,人数要大于两个人 ,改别名(一般为英文)

分页查询

1.语法:limit 开始的索引,每页查询的条数
2.公式:开始的索引=(当前的页码-1)*每页显示的条数
	例如:
	每页显示三条记录
	select * from student limit 0,3;       第一页
	select * from student limit 3,3;       第二页
	select * from student limit 6,3;       第三页
3.limit是一个MySQL“方言”
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值