Từ khoá ORDER BY
được sử dụng để sắp xếp khối kết quả bởi một hoặc nhiều cột.
Từ khoá ORDER BY
sắp xếp các bản ghi theo thứ tự tăng dần theo mặc định. Để sắp xếp các bản ghi theo thứ tự giảm dần, bạn có thể sử dụng từ khoá DESC
.
Cú pháp của ORDER BY
trong SQL:
SELECT ten_cot, ten_cot
FROM ten_bang
ORDER BY ten_cot ASC|DESC, ten_cot ASC|DESC;
Cơ sở dữ liệu Demo
Trong khoá này chúng ta sẽ sử dụng cơ sở dữ liệu mẫu Northwind được nhiều người biết đến.
Bên dưới là một lựa chọn từ bảng “Customers”:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Ví dụ về ORDER BY
Câu lệnh SQL dưới đây lựa chọn tất cả các khách hàng từ bảng “Customers”, sắp xếp bởi cột “Country”:
VÍ dụ
SELECT * FROM Customers
ORDER BY Country;
Ví dụ về ORDER BY DESC
Câu lệnh SQL dưới đây lựa chọn tất cả khách hàng từ bảng “Customers”, sắp xếp theo kiểu DESCENDING
bởi cột “Country”:
Ví dụ
SELECT * FROM Customers
ORDER BY Country DESC;
Ví dụ về ORDER BY nhiều cột
Câu lệnh SQL dưới đây lựa chọn tất cả khách hàng từ bảng “Customers”, sắp xếp bởi cột “Country” và cột “CustomerName”:
Ví dụ
SELECT * FROM Customers
ORDER BY Country, CustomerName;
Ví dụ 2 về ORDER BY nhiều cột
Câu lệnh SQL dưới đây lựa chọn tất cả khách hàng từ bảng “Customers”, sắp xếp từ nhỏ đến lớn ở cột “Country” và ngược lại ở cột “CustomerName”:
Ví dụ
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
Lưu ý giữa Country ASC và CustomerName DESC được ngăn cách nhau bằng dấu phẩy (,). Kết thúc câu lệnh là dấu chấm phẩy (;) Giữa SELECT
và ORDER BY
không có dấu ngăn cách nhưng phải là xuống dòng hoặc dấu cách trống.