当我们需要对从数据库里查询出来的数据进行排序时,就得用到order by语句;
order by语句相比与其它语句执行时间比较靠后,所以一般写在sql语句的最后;
1、基础使用
1)按某字段升序: order by 字段名 asc ; 其中asc可以省略
2)按某字段降序: order by 字段名 desc;
2、多条件排序
order by支持多个排序条件,默认执行顺序为从左到右,各个条件之间用逗号隔开:
order by 字段1 ,字段2 desc;
3.根据某字段的值进行排序
例如:根据完成状态排序,未完成在前,已完成在后
order by field(status,'未完成','已完成')
4.根据字段拼音排序
例如:按姓名NAME首字母拼音排序:
order by CONVERT( NAME USING gbk ) asc
5.LIMIT 和OFFSET来限制结果条数
LIMIT
和 OFFSET
子句通常和ORDER BY
语句一起使用,当我们对整个结果集排序之后,我们可以 LIMIT
来指定只返回多少行结果 ,用 OFFSET
来指定从哪一行开始返回。你可以想象一下从一条长绳子剪下一小段的过程,我们通过 OFFSET
指定从哪里开始剪,用 LIMIT
指定剪下多少长度。
SELECT column, another_column, …
FROM mytable
WHERE condition(s)
ORDER BY column ASC/DESC
LIMIT num_limit OFFSET num_offset;