😄 每天5min小学一下,拒绝内卷,休息~
⭐ 简单声明:
- 关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有任何意义。
- SQL语句由子句组成,有些子句必须,有些可选。
- SELECT 语句的 ORDER BY 子句。ORDER BY子句取一个或多个列的名字,据此进行排序。
- ORDER BY 子句要放在SELECT语句中的最后一条子句位置。
- 默认排序是升序。
- 对文本性数据排序时,A与a可能相同也有可能不同,这取决与数据库的设置方式,大多数DBMS将A与a视为相同。无法根据ORDER BY改变。
本文学习如何排序检索数据【5 mins 快速入门】 -> SELECT 语句的 ORDER BY 子句。
SELECT c1
FROM tb1
ORDER BY c1; # 按别的列排序也ok。
经常需要按不止一个列进行数据排序。
下面代码先按c2排序好,再针对c2列的值相同的组里按c3排序。也就是说,如果根据c2列全部值唯一,那不会按c3排序,只按c2排序。
SELECT c1, c2, c3
FROM tb1
ORDER BY c2, c3;
可以根据SELECT清单后的列位置进行ORDER BY。主要是为了方便不用重新输入列名。
SELECT c1, c2, c3
FROM tb1
ORDER BY 2, 3; # 等价于ORDER BY c2, c3; 当然也可以混着用。
默认升序(关键字ASC,也可ASCENDING),可指定DESC关键字来降序。(在列名后加DESC,也可DESCENDING)
如果想对多个列进行降序,那必须对每一列指定DESC关键字。
SELECT c1, c2
FROM tb1
ORDER BY c1 DESC;
# 也可ORDER BY c1 DESC, c2;