本篇文章小编给大家分享一下MySQL查询排序与查询聚合函数用法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
具体如下:
排序
为了方便查看数据,可以对数据进行排序
语法:
select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...]
说明
将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推
默认按照列值从小到大排列(asc)
asc从小到大排列,即升序
desc从大到小排序,即降序
例1:查询未删除男生信息,按学号降序
select * from students where gender=1 and is_delete=0 order by id desc;
例2:查询未删除学生信息,按名称升序
select * from students where is_delete=0 order by name;
例3:显示所有的学生信息,先按照年龄从大–>小排序,当年龄相同时 按照身高从高–>矮排序
select * from students order by age desc,height desc;
聚合函数
为了快速得到统计数据,经常会用到如下5个聚合函数
总数
count(*)表示计算总行数,括号中写星与列名,结果是相同的
例1:查询学生总数
select count(*) from students;
最大值
max(列)表示求此列的最大值
例2:查询女生的编号最大值
select max(id) from students where gender=2;
最小值
min(列)表示求此列的最小值
例3:查询未删除的学生最小编号
select min(id) from students where is_delete=0;
求和
sum(列)表示求此列的和
例4:查询男生的总年龄
select sum(age) from students where gender=1; -- 平均年龄 select sum(age)/count(*) from students where gender=1;
平均值
avg(列)表示求此列的平均值
例5:查询未删除女生的编号平均值
select avg(id) from students where is_delete=0 and gender=2;