MySql查询,聚合函数,分组,分页,排序等复杂查询
count(*):统计个数 max(列名):最大值 min(列名):最小值 sum(列名):求和 avg(列名):平均值
-举例
-- 总条数 SELECT COUNT(*) AS 总数 FROM student; -- 查询年龄大于40的总数 SELECT COUNT(*) FROM student WHERE age > 40; -- 查询数学成绩总分 SELECT SUM(math) FROM student; -- 查询数学成绩平均分 SELECT AVG(math) FROM student; -- 查询数学成绩最高分 SELECT MAX(math) FROM student; -- 查询数学成绩最低分 SELECT MIN(math) FROM student;
1. 语法 select 分组列 from 表名 group by 分组列 having 分组后条件筛选 2. where 和 having 区别 where在分组前进行条件筛选,不支持聚合函数 having在分组后进行条件筛选,支持聚合函数
-- 统计男生女生各多少人,在同一条sql实现... SELECT sex,COUNT(*) FROM student GROUP BY sex; -- 查询年龄大于25岁的人,按性别分组,统计每组的人数,并只显示性别人数大于2的数据 SELECT sex,COUNT(*) FROM student GROUP BY sex HAVING COUNT(*) > 2;
1. 语法 select ... from 表名 limit 开始索引,每页显示个数; 2. 索引特点 索引起始值是0;可以省略,默认值也是0 3. 分页索引公式 开始索引 = (当前页-1) × 每页个数
-- 分页 SELECT * FROM student LIMIT 5;