排序语句ORDER BY

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的降序继续排序。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注