位置:首页 > > SQLite ORDER BY 子句

SQLite ORDER BY 子句

SQLite 的 ORDER BY子句是用来递增或递减的顺序,根据一个或多个列中的数据进行排序。

语法

ORDER BY子句的基本语法如下:

SELECT column-list 
FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];

可以使用在ORDER BY子句中的一列以上。确保使用的任何列进行排序,列应列清单。

例子:

考虑COMPANY表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

以下是一个例子,它会按SALARY降序排序的结果:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

下面是一个例子,这将排序结果按 name 和 salary 降序:

sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
5           David       27          Texas       85000.0
7           James       24          Houston     10000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0

以下是一个例子,它会以 NAME降序排序结果:

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
1           Paul        32          California  20000.0
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
5           David       27          Texas       85000.0
2           Allen       25          Texas       15000.0