MySQL高级查询

一、排序
排序查询语法:
 

select * from 表名 order by 列1 asc/desc [,列2 asc/desc,...]
 
语法说明:
 
  1. 先按照列1进行排序,如果列1的值相同时,则按照列2排序
  2. asc:升序排序(从小到大)
  3. desc:降序排序(从大到小)
  4. 默认是升序排序(asc)
 
查询未删除男生信息,按学号降序:
 
select * from students where is_del = 0 and sex = '男' order by id desc;
 
MySQL高级查询

文章插图
 
显示所有学生信息,先按年龄从大到小排序,年龄相同时按身高由高到低排序:
 
select * from students order by age desc,height desc;
 
MySQL高级查询

文章插图
 
二、分页查询
在网上购物时,浏览商品列表的时候,由于数据特别多,一页显示不完,一页一页的进行显示,这就是分页查询
 
select * from 表名 limit start,count
 
说明:
 
  1. limit 是分页查询关键字
  2. start 表示开始行索引,默认是0
  3. count 表示查询条数
 
查询前三行男生的信息:
 
select * from students where sex='男' limit 0,3; 可以简写为 select * from students where sex='男' limit 3;
 
MySQL高级查询

文章插图
 
MySQL高级查询

文章插图
 
每页显示m条数据,求第n页显示的数据(关键是求每页的开始行索引)
 
select * from students limit (n-1)*m,m;
三、聚合函数 
聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据
常用的聚合函数:
 
  1. count(col):表示求指定列的总行数
  2. max(col):表示求指定列的最大值
  3. min(col):表示求指定列的最小值
  4. sum(col):表示求指定列的和
  5. avg(col):表示指定列的平均值
 
求总行数:
 
返回非null数据的总行数 select count(height) from students; 返回总行数,包含null值记录 select count(*) from students;
 
MySQL高级查询

文章插图
 
MySQL高级查询

文章插图
 
求最大值:
 
查询男生编号的最大值 select max(id) from students where sex='男';
 
MySQL高级查询

文章插图
 
求最小值:
 
查询未删除的学生最小编号 select min(id) from students where is_del=0;
 
MySQL高级查询

文章插图
 
求和:
 
查询男生的总身高 select sum(height) from students where sex='男'; 查询男生的平均身高 select sum(height) / count(*) from students where sex='男';


推荐阅读