SQLite - Mệnh đề ORDER BY
SQLite ORDER BY mệnh đề được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần, dựa trên một hoặc nhiều cột.
Cú pháp
Sau đây là cú pháp cơ bản của mệnh đề ORDER BY.
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 kỳ cột nào bạn đang sử dụng để sắp xếp, cột đó sẽ có sẵn trong danh sách cột.
Thí dụ
Hãy xem xét bảng COMPANY với các bản ghi sau đây.
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
Sau đây là một ví dụ, sẽ sắp xếp kết quả theo thứ tự giảm dần theo LƯƠNG.
sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;
Điều này sẽ tạo ra kết quả sau.
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
Sau đây là một ví dụ, sẽ sắp xếp kết quả theo thứ tự giảm dần theo TÊN và LƯƠNG.
sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
Điều này sẽ tạo ra kết quả sau.
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
Sau đây là một ví dụ, sẽ sắp xếp kết quả theo thứ tự giảm dần theo NAME.
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;
Điều này sẽ tạo ra kết quả sau.
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