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