SQLite - สั่งซื้อตามข้อ

SQLite ORDER BY อนุประโยคใช้เพื่อจัดเรียงข้อมูลตามลำดับจากน้อยไปมากหรือมากไปหาน้อยโดยยึดตามคอลัมน์อย่างน้อยหนึ่งคอลัมน์

ไวยากรณ์

ต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง ORDER BY

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

คุณสามารถใช้คอลัมน์ได้มากกว่าหนึ่งคอลัมน์ในคำสั่ง ORDER BY ตรวจสอบให้แน่ใจว่าคอลัมน์ใดที่คุณใช้จัดเรียงคอลัมน์นั้นควรมีอยู่ในรายการคอลัมน์

ตัวอย่าง

พิจารณาตาราง 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