-------------------------聚合函数-------------------------------------------------------
查班里一共多少学生:
select count(id) from stu; -- count()统计的列名不能为null
select count(*) from stu; -- 推荐写*
查班里数学最高/低分/平均分:
select min(math) from stu; -- 聚合函数里null不参与高低
select max(math) from stu;
select avg(math) from stu;
----------------------------------分组查询-----------------------------------------------------
分男女查数学平均分:
select sex, avg(math) from stu group by sex; -- select之后的字段只能是分的组或者聚合函数,其他无意义
分男女查数学平均分以及各自人数:
select sex, avg(math), count(*) from stu group by sex;
分男女查数学平均分以及各自人数,分数低于70的不参与:
select sex, avg(math), count(*) from stu where math>70 group by sex; -- 分组之前
分男女查数学平均分以及各自人数,分数低于70的不参与,分组后人数>2:
select sex, avg(math), count(*) from stu where math>70 group by sex having count(*)>2; -- 分组之后
where里不能判断聚合函数,having可以
执行顺序:where> 聚合函数>having
-------------------------分页查询--------------------------------------
从0开始,查询3条数据 --起始索引=(当前页码-1)*每页显示条数
select * from stu limit 0,3; --(1-1)*3=0
每页查3条,查第1页数据
select * from stu limit 0,3;
每页查3条,查第2页数据
select * from stu limit 3,3; --(2-1)*3=3
每页查3条,查第3页数据
select * from stu limit 6,3; --(3-1)*3=6
===========分页方言========================
mysql用limit
oracle用rownumber
sql sever 用top
标签:count,--,查询,stu,分组,math,DQL,sex,select From: https://www.cnblogs.com/dahuilang21/p/17162817.html