MySQL排序与分页

1.掌握排序的应用场景及order by 的使用

2.掌握分页的应用场景及limit的使用

准备表格:

create table employee(
	id int not null auto_increment primary key,
	name varchar(30) comment '姓名',
	sex varchar(1) comment '性别',
	salary int comment '薪资(元)'
);

insert into employee(name, sex, salary) values('张三', '男', 5500);
insert into employee(name, sex, salary) values('李洁', '女', 4500);
insert into employee(name, sex, salary) values('李小梅', '女', 4200);
insert into employee(name, sex, salary) values('欧阳辉', '男', 7500);
insert into employee(name, sex, salary) values('李芳', '女', 8500);
insert into employee(name, sex, salary) values('张江', '男', 6800);
insert into employee(name, sex, salary) values('李四', '男', 12000);
insert into employee(name, sex, salary) values('王五', '男', 3500);
insert into employee(name, sex, salary) values('马小龙', '男', 6000);
insert into employee(name, sex, salary) values('龙五', '男', 8000);
insert into employee(name, sex, salary) values('冯小芳', '女', 10000);
insert into employee(name, sex, salary) values('马小花', '女', 4000);

应用场景:
1.学生按照身高从高到低进行排序
2.双十一,某商城的商品交易量排行榜
3.博客中的文章按时间先后顺序显示
|---------------------------------------------------------------------------------------------------------------------

SQL中,使用order by 对查询结果进行排序,可以按照一列【或】多列进行排序.



order by 语法:

select column_name1,column_name2
from table_name1,table_name2
order by column_name,column_name[ASC|DESC]


==说明==1.ASC表示按升序排序,DESC按照降序排序
2.默认情况下,对列按升序排列


查询薪资,默认升序排列
select * from employee order by salary;
等价于
select * from employee order by salary ASC;
按照薪资降序排列
select * from employee order by salary desc;


按照性别和薪资降序排列
说明:(多字段排序,先按照前面的字段排序)
select * from employee order by sex,salary ASC;
显示结果是,性别女的,按照薪资降序排序。然后男的,按照薪资降序排序。

============================================================================
LIMIT
我们的数据总是很多的,所以需要分页显示
LIMITSelect 语句中使用LIMIT子句来约束要返回的记录数,
通常使用LIMIT实现分页
limit语法:
select column_name1,column_name2
from   table_name1,table_name2
LIMIT [offset] row_count

说明:
1.offset指定要返回的第一行的偏移量,第一行的偏移量是0,而不是1
2.row_count指定要返回的最大行数

举例:每页最多20行,第一页偏移量是0,第二页的偏移量是20,第三页偏移量是40
即:后面的最大行数一般不变
0,20  2020   40,20
Limit分页公式:  limit (page-1)*row_count,row_count

limit 只有一个参数时,就是显示多少行数据
select * from employee limit 3;
select * from employee limit 5;

假如我们要分页显示
select * from employee limit 0,5;
select * from employee limit 5,5;
select * from employee limit 10,5;
发布了82 篇原创文章 · 获赞 19 · 访问量 4635

猜你喜欢

转载自blog.csdn.net/ABCisCOOL/article/details/105248256