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

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 trong mysql  để 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:lệnh order by trong mysql

 

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 trong mysql thông qua bảng offices:

SQL viết tắt của Structured Query Language, dịch là Ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn ANSI/ISO.

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.

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:

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 .

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:

mệnh đề order by trong mysql

Mời bạn tham khảo các bài viết liên quan về MySQL:

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 trong mysql để 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!