English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In PostgreSQL,ORDER BY usata per ordinare in ordine crescente (ASC) o decrescente (DESC) una colonna o più colonne.
ORDER BY La sintassi di base della clausola è la seguente:
SELECT elenco_colonne FROM nome_tabella [WHERE condizione] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Puoi utilizzare una colonna o più colonne in ORDER BY, ma devi assicurarti che le colonne da ordinare esistano.
ASC indica l'ordine crescente,DESC indica l'ordine decrescente.
Crea la tabella COMPANY (Scarica il file SQL di COMPANY ),以下为数据内容:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 (7 righe)
Esempio seguente ordinerà i risultati in base al valore del campo AGE in ordine crescente:
w3codeboxdb=# SELECT * FROM COMPANY ORDER BY AGE ASC;
得到以下结果:
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 6 | Kim | 22 | South-Hall | 45000 3 | Teddy | 23 | Norway | 20000 7 | James | 24 | Houston | 10000 4 | Mark | 25 | Rich-Mond | 65000 2 | Allen | 25 | Texas | 15000 5 | David | 27 | Texas | 85000 1 | Paul | 32 | California | 20000 (7 righe)
下面示例将对结果根据 NAME 字段值和 SALARY 字段值进行升序排序:
w3codeboxdb=# SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
得到以下结果:
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 2 | Allen | 25 | Texas | 15000 5 | David | 27 | Texas | 85000 7 | James | 24 | Houston | 10000 6 | Kim | 22 | South-Hall | 45000 4 | Mark | 25 | Rich-Mond | 65000 1 | Paul | 32 | California | 20000 3 | Teddy | 23 | Norway | 20000 (7 righe)
下面示例将对结果根据NAME字段值进行降序排列:
w3codeboxdb=# SELECT * FROM COMPANY ORDER BY NAME DESC;
得到以下结果:
id | name | age | address | salary ----+-------+-----+----------------------------------------------------+-------- 3 | Teddy | 23 | Norway | 20000 1 | Paul | 32 | California | 20000 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 5 | David | 27 | Texas | 85000 2 | Allen | 25 | Texas | 15000 (7 righe)