ORDER BY子句用于按升序或降序对数据进行排序。数据在一列或多列的基础上进行排序。
SELECT columnlist FROM tablename [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Code language: CSS (css)
columnlist:它指定要检索的列或计算。 tablename:它指定要从中检索记录的表。FROM子句中必须至少有一个表。 WHERE conditions:可选。 它规定必须满足条件才能检索记录。 ASC:也是可选的。它通过表达式按升序排序结果集(默认,如果没有修饰符就是ASC)。 DESC:也是可选的。 它通过表达式按降序对结果集进行排序。
下面我们继续以student表为例,首先我们增加一个age字段 然后执行下面语句,插入一些记录。


INSERT INTO public.student(
id, name, subjects,age)
VALUES (1, '张柏芝', 'a',40),(2, '张卫健', 'a',57),(3, '张国荣', 'b',65),(4, '张家辉', 'c',53),(5, '张学友', 'd',60);
Code language: PHP (php)
下面我们按age 进行升序排列
SELECT * FROM student ORDER BY age ASC;

如果不写ASC,则默认就是ASC
SELECT * FROM student ORDER BY age;
降序排列
SELECT * FROM student ORDER BY age DESC;
多列排序 比如 我们先按照subjects排序,然后再按照age排序,每个排序项之间使用逗号隔开。
SELECT * FROM student ORDER BY subjects ASC, age DESC;
说明:多列排序规则,优先按前面字段排序;当subjects值相同时,才会使用age的降序继续排序。

Previous: 删除数据DELETE
Next: 分组GROUP BY