排序
order by 字段 默认就是升序排序(小的在前 大的在后)
asc从小到大排列,即升序
查询年龄在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;
降序 desc
desc从大到小排序,即降序
查询年龄在18到34岁之间的女性,身高从高到矮排序 > 降序
select * from students where age between 18 and 34 and gender = 2 order by height desc;
order by 多个字段
查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从小到大排序
select * from students where age between 18 and 34 and gender = 2 order by height desc,age asc;
查询年龄在18到34岁之间的女性,身高从高到矮排序, 如果身高相同的情况下按照年龄从小到大排序, 如果年龄也相同那么按照id从大到小排序
select * from students where age between 18 and 34 and gender = 2 order by height desc,age asc, id desc;
按照年龄从小到大、身高从高到矮的排序
select * from students order by age asc, height desc;
聚合函数
总数
count()
统计班级有多少人
以行为单位 有一行算一行
count(*)的效率是最高
select * from students;
select count(*) from students;
select count(id) from students;
查询男性有多少人,女性有多少人 目前办不到
select count(*) from students where gender = 1;
select count(*) from students where gender = 2;
最大值
max()
查询最大的年龄
select max(age) from students;
查询女性的最高 身高
select max(height) from students where gender = 2;
查询最高身高对应的名字
目前也办不到 需要学习子查询
# 错误的: select name, max(height) from students;
最小值
min()
select min(age) from students;
求和
sum()
计算所有人的年龄总和
select sum(height) from students;
# 错误select sum(height) / count(*) from students;
select sum(height) / count(height) from students;
平均值
avg()
计算平均年龄
select avg(age) from students;
计算平均身高
select avg(height) from students;
四舍五入
计算所有人的平均年龄,保留2位小数
sql中内置的函数可以四舍五入 round()
可以通过 ? 获取帮助 比如查看函数: ? functions
select round(avg(age),2) from students;
计算男性的平均身高 保留2位小数
未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(9)
客官点个赞呗! (0)