Sắp xếp dữ liệu với ORDER BY trong SQL - Ngôn ngữ truy vấn T-SQL
Nếu bạn muốn sắp xếp dữ liệu trả về theo tăng dần hoặc giảm dần thì có thể sử dụng lệnh ORDER BY, lệnh này được đặt cuối của câu truy vấn SELECT và có hai tham số truyền vào, cú pháp như sau: SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] ...
Nếu bạn muốn sắp xếp dữ liệu trả về theo tăng dần hoặc giảm dần thì có thể sử dụng lệnh ORDER BY, lệnh này được đặt cuối của câu truy vấn SELECT và có hai tham số truyền vào, cú pháp như sau:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Trong đó:
- column1, column2, .. columnN là danh sách các column sẽ được sắp xếp.
- [ASC | DESC] là kiểu sắp xếp, nếu bạn chọn ASC thì tăng dần, còn DESC là giảm dần.
Nếu là số thú tự thì được sắp xếp từ 0 -> 9
, còn chữ cái thì từ a -> z
. Thực tế thì nó sắp xếp dựa vào số thứ tự trong bảng mã ASCII.
Sắp xếp theo một column
Ví dụ: Sắp xếp danh sách bài viết trả về từ bài cũ đến bài mới. Vì trong bảng POSTS có column add_date nên mình sẽ dựa vào nó để biết bài nào cũ và bài nào mới.
SELECT * FROM POSTS ORDER BY ADD_DATE ASC
Nếu bạn muốn sắp xếp từ ngày đăng theo mới xuống cũ thì chỉ cần đổi ASC thành DESC.
SELECT * FROM POSTS ORDER BY ADD_DATE DESC
Sắp xếp theo nhiều column
Nếu bạn muốn sắp xếp theo nhiều column thì chỉ cần bổ sung nó vào và cách nhau bởi dấu phẩy.
Ví dụ: Sắp xếp bài viết theo tiêu đề và ngày đăng theo hai cách tăng và giảm dần.
SELECT * FROM POSTS ORDER BY ADD_DATE, ID ASC
SELECT * FROM POSTS ORDER BY ADD_DATE, ID DESC
Trên là cách sử dụng lệnh ORDER BY trong SQL, lệnh này rất hữu ích và được sử dụng rất thường xuyên.