06/04/2021, 14:50

Mệnh đề ORDER BY trong SQLite - SQLite căn bản và nâng cao

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 giảm dần, dựa trên một hoặc nhiều cột. 1. Cú pháp của mệnh đề ORDER BY trong SQLite Cú pháp cơ bản của mệnh đề ORDER BY trong SQLite như sau: SELECT ...

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 giảm dần, dựa trên một hoặc nhiều cột.

1. Cú pháp của mệnh đề ORDER BY trong SQLite

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 kỳ cột nào bạn đang sử dụng để sắp xếp, cột đó sẽ có sẵn trong column-list.

2. Ví dụ của mệnh đề ORDER BY trong SQLite

Giả sử chúng ta có bảng COMPANY có các dòng dữ liệu 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 đây sẽ sắp xếp kết quả theo thứ tự tăng dần cho cột salary.

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

Và kết quả của ví dụ trên như 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

Ví dụ sau đây sẽ sắp xếp kết quả theo thứ tự tăng dần cho cột name và cột salary. (Ưu tiên sắp xếp theo thứ tự tăng dần cho cột name trước, nếu cột name có dữ liệu trùng nhau thì sẽ sắp xếp theo thứ tự tăng dần cho cột salary)

sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

Và kết quả của ví dụ trên như 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

Ví dụ sau đây sẽ sắp xếp kết quả theo thứ tự giảm dần cho cột name.

sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;

Và kết quả của ví dụ trên như 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

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0