5、排序 + 分页 ( order by ) ( limit )
[order 排序] [by 通过]
一 基础语法
select //序3 字段1,字段2 from //序1 表名
where //序2
条件语句 order by //序3 排序字段1 ASC|DESC,排序条件2 ASC|DESC,..... //默认是升序ASC 可以省略不写
执行顺序:先执行from,在执行where,然后执行select,最后执行order by。
二 单列排序 [排序字段只有一个]
//找出年龄大于30的英雄 并倒序 SELECT * FROM hero WHERE age>30 ORDER BY age DESC;
三 组合排序 [排序字段有多个]
//找出年龄大于30的英雄 按年龄倒序 年龄相同的 按身高正序 SELECT * FROM hero WHERE age>30 ORDER BY age DESC,height ASC;
先按第一个字段排序,如果第一个字段相同,再按照第二个字段排序,依次类推。
如果第一个字段没有相同的,第二个字段压根就用不上。
语法
limit startIndex,length;
startindex:表示起始位置 从0开始
length:取几条数据
要点
1、limit是MySQL中特有的,其他数据库中木有 2、limit取结果集中的部分数据,这是它的的作用 3、limit是SQL语句中最后执行的部分 4、分页查询用的就是limit
5、最后一个数据不够了,有几条展示几条
小练习
//找到工资前五名的员工
select ename,sal from emp order by sal desc limit 0,5;
select ename,sal from emp order by sal desc limit 5; //只写第二个参数,表示第一个参数为0省略了。
//找出工资排名在第四到第九的员工
select ename,sal from emp order by sal desc limit 3,6;
通用的标准分页SQL
limit起始值 = 页数减一再乘以条数
公式:(page-1) num
每页显示3条记录 第一页:0,3 第二页:3,3 第三页:6,3 第四页:9,3
第五页:12,3
num = 10; //每页显示多少条;
page = 5; //当前页;
limit 40,10;
limit (page-1)num,num;

浙公网安备 33010602011771号