Mệnh đề ORDER BY trong SQLite được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc theo thứ tự giảm dần, trên một hoặc nhiều cột.
Cú pháp cơ bản của mệnh đề ORDER BY trong SQLite như sau:
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
Bạn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY. Đảm bảo rằng, bất cứ cột nào bạn đang sử dụng để sắp xếp, thì nó phải có trong column-list.
Ví dụ
Bạn theo dõi bảng COMPANY có các bản ghi sau:
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
Ví dụ sau minh họa cách sắp xếp kết quả theo thứ tự tăng dần cho SALARY.
sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;
Ví dụ trên sẽ cho kết quả:
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
Ví dụ sau sẽ sắp xếp theo thứ tự tăng dần cho NAME và SALARY:
sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
Ví dụ trên sẽ cho kết quả:
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
Ví dụ sau sẽ sắp xếp theo thứ tự giảm dần cho NAME:
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;
Ví dụ trên sẽ cho kết quả:
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