--排序
--order by 字段 默认从小到大
--asc 从小到大 desc 从大到小
--查询年龄在18到34之间的男性,按照年龄从小到大排序
select * from students where (age between 18 and 34) and gender=1 order by age;
select * from students where (age between 18 and 34) and gender=1 order by age asc;
-- 查询年龄在18到34之间的女性,身高从高到矮排序
select * from students where (age between 18 and 34) and gender=2 order by height desc;
--查询年龄在18到34之间的女性,身高从高到矮排序,当身高相同的情况下按照年龄从小到大
select * from students where (age between 18 and 34) and gender=2 order by height desc,age;
--按照年龄从大到小,身高从高到矮排序
select * from students order by age desc, height desc;
--聚合函数
--总数 count
-- 查询男性多少人 女性多少人 总数多少人
select count(*) from students where gender=1;
select count(*) as 男生人数 from students where gender=1; -- 起个名字
select count(*) as 女生人数 from students where gender=2;
select count(*) as 总人数 where gender=2;
--最大值 max
--查询最大的年龄
select max(age) from students;
--最小值 min
--查询最矮的女性身高
select min(height) from students where gender=2;
--求和 sum
--计算年龄总和
select sum(age) from students;
--平均值 avg
--计算平均年龄
select sum(age)/count(*) from students;
select avg(age) from students;
--四舍五入 round(123.123, 1) 保留一位小数
--计算平均年龄,保留两位小数
select round(avg(age),2) from students;
--分组 要和聚合在一起使用才有意义
--group by
-- 查询同类性别的人数
select gender,count(*) from students group by gender;
--group concat(...)
--查询同类性别的姓名
select gender,group_concat(name) from students group by gender;
--查询同类性别的姓名,并且显示每个人的年龄和id
select gender,group_concat(name,'_',age,'_',id) from students group by gender;
-- having 条件 这是对分好的组进行条件判断
--查询平均年龄超过30岁的性别,以及姓名
select gender , group_concat( name) from students group by gender having avg(age)>30;
--查询每种性别中的人数大于2的信息
select gender, group_concat(name) from students group by gender having count(*)>2;
--分页
--limit
-- limit 数字 --限制查询出来的数据个数
--查询前五个数据
select * from students limit 5;
-- limit 数字1,数字2 -- 数字1 表示起始的位置,数字2 表示个数
-- 查询3-5的数据 这里的下标是从0开始的,所以应该是2,3
select * from students limit 2,3;
-- 每页两个数据,显示第3页
select * from students limit 4,2; --(页数-1)*2
--每页显示2个,显示第三页,按照年龄从小到大排序
select * from students order by age limit 4,2; ---顺序,where order by limit 不能乱
mysql--排序、聚合、分组、分页
最新推荐文章于 2024-05-24 10:20:18 发布