English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite ORDER BYПредложение используется для сортировки данных по одному или нескольким столбцам в порядке возрастания или убывания.
Вот базовая грамматика предложения ORDER BY.
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Вы можете использовать несколько столбцов в предложении ORDER BY. Убедитесь, что любой столбец, который вы хотите использовать для сортировки, доступен в 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
Ниже приведен пример, который сортирует результаты по 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