在项目中经常用到排序和分页,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;
如此,实现了分页。