Bài MySQL 20: Lệnh ORDER BY trong MySQL

0
88

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng câu lệnh ORDER BY để sắp xếp một tập kết quả trả về.

Giới thiệu

Khi bạn sử dụng câu lệnh SELECT để truy vấn dữ liệu từ một bảng, tập kết quả không được sắp xếp theo bất kỳ kiểu nào. Để sắp xếp lại tập kết quả thì bạn cần sử dụng mệnh đề ORDER BY. Mệnh đề ORDER BY cho phép bạn:

  • Sắp xếp tập hợp kết quả theo một cột hoặc nhiều cột.
  • Sắp xếp tập hợp kết quả theo các cột khác nhau theo thứ tự tăng dần hoặc giảm dần.

Cú pháp:

ASC là viết tắt của ascending có nghĩa là tăng dần còn DESC là viết tắt của descending có nghĩa là giảm dần. Theo mặc định, câu lệnh ORDER BY sắp xếp tập kết quả theo thứ tự tăng dần nếu bạn không chỉ định rõ là sắp xếp theo ASC hay DESC.

Ví dụ về lệnh ORDER BY trong MySQL

Mình sẽ ví dụ về cách sử dụng lệnh ORDER BY thông qua bảng offices:

Truy vấn sau đây chọn các thành phố (city) từ bảng offices và sắp xếp các thành phố thứ tự tăng dần.

kết quả trả về là:

Nếu bạn muốn sắp xếp các thành phố theo họ trong thứ tự giảm dần thì bạn chỉ cần chỉ định DESC sau cột city trong câu lệnh ORDER BY như sau:

kết quả trả về là:

Ví dụ câu lệnh ORDER BY sắp xếp theo một biểu thức

Mệnh đề ORDER BY cũng cho phép bạn sắp xếp tập kết quả dựa trên một biểu thức.

Ví dụ mình có một bảng orderdetails có các cột như sau:

truy vấn sau sẽ chọn các mặt hàng từ bảng orderdetails. Nó sẽ tính tổng cho mỗi mặt hàng và sắp xếp tập hợp kết quả dựa trên số thứ tự, số thứ tự dòng và tổng .

kết quả trả về là:

Lệnh ORDER BY với thứ tự sắp xếp tùy chỉnh

Mệnh đề ORDER BY cho phép bạn xác định thứ tự sắp xếp tùy chỉnh của riêng bạn cho các giá trị trong một cột bằng cách sử dụng hàm FIELD().

Ví dụ mình sử dụng câu lệnh truy vấn sau trong bảng offices:

kết quả trả về là:

Kết luận

Như vậy trong bài học ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh ORDER BY để sắp xếp một tập kết quả trả về. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về Alias(Bí danh) trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây