English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник SQLite для начинающих

Учебник SQLite для продвинутых

Программный интерфейс SQLite

Предложение ORDER BY в SQLite

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