MySQL基本语句——排序查询,聚合函数,分组查询,分页查询

本文介绍了MySQL中的基本查询技巧,包括排序查询(升序、降序、复合排序)、聚合函数(COUNT、MAX、MIN、SUM、AVG)的用法,强调了WHERE条件后不应接聚合函数。还详细讲解了分组查询的概念及示例,如按特定条件分组并统计信息。最后,讨论了分页查询的实现,通过LIMIT关键字进行数据截取,提供了数据库起始行与当前页关系的计算公式。

排序查询

	语法:order by 排序字段1 排序方式1 ,排序字段2 排序方式2...
	排序方式:
				ASC:升序(从小到大),默认的排序方式,可省略
				DESC:降序(从大到小),不能省略

	注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二个排序条件。
升序排序
SELECT * FROM 表名  ORDER BY 列名 ASC;
降序排序
SELECT * FROM 表名  ORDER BY 列名 DESC;
复合排序
SELECT * FROM 表名  ORDER BY 列名 ASC ,列名 DESC;

聚合函数

聚合函数是将一列数据作为整体,进行纵向运算。注意当聚合函数在运算时会排除NULL值得到的结果都是单行单列的运算结果值
注意:where 条件后面不能接聚合函数
聚合函数我们今天要学习的有如下几个:
1. count:计算个数
2. max:计算最大值
3. min:计算最小值
4. sum:计算和
5. avg:计算平均值
count函数

计算有效行数
计算表中列不为null的函数

SELECT COUNT(列名) FROM 表名;
MAX函数

计算最大值

SELECT max(列名) FROM 表名;
MIN函数

计算最小值

SELECT min(列名) FROM 表名;
SUM函数

计算和

SELECT sum(列名) FROM 表明;
AVG函数

计算平均值

SELECT avg(列名) FROM 表名;

分组查询

分组查询需要列肯定是有重复的属性值才分组,如果这一列每行的值都不一样,那分组就没意义了
分组查询是把记录使用某一列进行分组,然后统计组信息
总体思路:select 分组列,聚合函数 group by 分组列

如:查询年龄大于 25 岁的人,按性别分组,统计每组的人数
SELECT sex, COUNT(*) FROM 表名 WHERE age > 25 GROUP BY sex 
如:查询年龄大于30岁的人,按性别分组,统计每组的人数,并只显示性别人数大于 3 的数据
SELECT sex, COUNT(*) FROM 表名 WHERE age > 30 GROUP BY sex HAVING COUNT(*) >3;

分页查询

语法:limit 后面跟两个参数:开始的索引,每页查询的条数;

如:当我们表进行分页显示时每页显示3条:
SELECT * FROM 表名 LIMIT 0,3; -- 第1页
SELECT * FROM 表名 LIMIT 6,3; -- 第2页
......

从上面我们可以总结出数据库起始行与当前页的关系

数据库起始行(起始索引)=(当前页-1) * 每页记录数

而limit关键字是mysql的方言,只能使用在mysql数据库中,其他数据库有自己的分页操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值