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];

· ASC 默认值,从小到大,升序排列

· DESC 从大到小,降序排列

您可以在 ORDER BY 子句中使用多个列,确保您使用的排序列在列清单中:

SELECT

   select_list

FROM

   table

ORDER BY

    column_1 ASC,

    column_2 DESC;

column_1 与 column_2 如果后面不指定排序规则,默认为 ASC 升序,以上语句按 column_1 升序,column_2 降序读取,等价如下语句:

SELECT

   select_list

FROM

   table

ORDER BY

    column_1,

    column_2 DESC;

实例

假设 COMPANY 表有以下记录:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------1           Paul        32          California  20000.02           Allen       25          Texas       15000.03           Teddy       23          Norway      20000.04           Mark        25          Rich-Mond   65000.05           David       27          Texas       85000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.0

下面是一个实例,它会将结果按 SALARY 升序排序:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------7           James       24          Houston     10000.02           Allen       25          Texas       15000.01           Paul        32          California  20000.03           Teddy       23          Norway      20000.06           Kim         22          South-Hall  45000.04           Mark        25          Rich-Mond   65000.05           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.05           David       27          Texas       85000.07           James       24          Houston     10000.06           Kim         22          South-Hall  45000.04           Mark        25          Rich-Mond   65000.01           Paul        32          California  20000.03           Teddy       23          Norway      20000.0

下面是一个实例,它会将结果按 NAME 降序排序:

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

这将产生以下结果:

ID          NAME        AGE         ADDRESS     SALARY----------  ----------  ----------  ----------  ----------3           Teddy       23          Norway      20000.01           Paul        32          California  20000.04           Mark        25          Rich-Mond   65000.06           Kim         22          South-Hall  45000.07           James       24          Houston     10000.05           David       27          Texas       85000.02           Allen       25          Texas       15000.0

评论
列表