MySQL之分页limit和排序order by

在项目中经常用到排序和分页,mysql中这两个关键词在查询的时候,也经常用到,现场来玩一下

 

先试试Order by:

  故名思意,order by的意思就是排序,那么就要配合ASC和DESC来使用,ASC是升序,DESC是降序

同样还是成绩表,查出成绩,使用降序排列

 select res.studentresult from result res order by res.studentresult DESC;

格式为:select 字段 from 表名 where 条件 order by 排序的字段 ASC/DESC;

 

 select res.studentresult from result res where res.studentresult>80 order by res.studentresult DESC;

加一个条件,查询大于80的学生的成绩,使用降序

 

这个是用升序

 

 

 好,接下来使用一些limit进行分页,显示前面五条,0开始

select res.studentresult from result res order by res.studentresult DESC LIMIT 0,5;

格式:select 字段 from 表名 where 条件 order by 排序的字段 ASC/DESC limit 从第几条开始,一共显示几条;

 

这里,我们试一下换成从第一条开始,一页显示6条 

 

 很简单。所以可以看出规律,可以用来分页时候使用

假设,一页显示5条,pagesize

总数量/pagesize得出总页数

当前页为N开始

那么(N-1)*pagesize,就得出当前页起始的条数

举例:

第一页的时候:

(1-1)*5=0

select res.studentresult from result res order by res.studentresult DESC LIMIT 0,5;

 

 第二页的时候:N=2

(2-1)*5=5;

select res.studentresult from result res order by res.studentresult DESC LIMIT 5,5;

 

 如此,实现了分页。

posted @ 2021-09-25 11:02  hickup  阅读(1169)  评论(0编辑  收藏  举报