06/04/2021, 14:50

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.

Tăng dần
SELECT *
FROM POSTS
ORDER BY ADD_DATE, ID ASC

Giảm dần
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.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0