SQLite ORDER BY子句用于根據(jù)一個(gè)或多個(gè)列以升序或降序?qū)?shù)據(jù)進(jìn)行排序。
以下是ORDER BY子句的基本語法。
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
您可以在ORDER BY子句中使用多個(gè)列。確保要用于排序的任何列,該列都應(yīng)在column-list中可用。
考慮帶有以下記錄的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
下面是一個(gè)示例,它將按SALARY降序?qū)Y(jié)果進(jìn)行排序。
sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;
這將產(chǎn)生以下結(jié)果。
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
下面是一個(gè)示例,它將按NAME和SALARY的降序?qū)Y(jié)果進(jìn)行排序。
sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
這將產(chǎn)生以下結(jié)果。
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
以下是一個(gè)示例,它將按照NAME的降序?qū)Y(jié)果進(jìn)行排序。
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;
這將產(chǎn)生以下結(jié)果。
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