Hướng dẫn sắp xếp trong mysql
Trong hướng dẫn này, bạn sẽ học cách sắp xếp thứ tự các hàng trong tập kết quả bằng mệnh đề 8 trong MySQL. Show
Giới thiệu về mệnh đề ORDER BY trong MySQLKhi bạn sử dụng câu lệnh 9 để truy vấn dữ liệu từ một bảng, thứ tự của các hàng trong tập kết quả là không xác định. Để sắp xếp các hàng trong tập kết quả, bạn thêm mệnh đề 8 vào câu lệnh 1.Sau đây minh họa cú pháp của mệnh đề 8:
Trong cú pháp này, bạn chỉ định một hoặc nhiều cột mà bạn muốn sắp xếp sau mệnh đề 8.Từ khóa 4 viết tắt của tăng dần (ascending) và 5 viết tắt của giảm dần (descending). Bạn sử dụng 4 để sắp xếp tập kết quả theo thứ tự tăng dần và 5 sắp xếp tập kết quả theo thứ tự giảm dần tương ứng.Mệnh đề 8 này sắp xếp kết quả theo thứ tự tăng dần theo các giá trị của cột 9:
Và mệnh đề 8 này sắp xếp kết quả theo thứ tự giảm dần theo các giá trị của cột 9:
Theo mặc định, mệnh đề 8 sử dụng 4 nếu bạn không chỉ định rõ ràng bất kỳ tùy chọn nào. Do đó, các mệnh đề 8 sau là tương đương:
và
Nếu bạn muốn sắp xếp kết quả theo nhiều cột, bạn chỉ định danh sách các cột được phân tách bằng dấu phẩy trong mệnh đề 8:
Trong trường hợp này, mệnh đề 8 sắp xếp thứ tự kết quả theo thứ tự tăng dần của cột 9 trước và sau đó sắp xếp kết quả theo thứ tự tăng dần của cột 8.Có thể sắp xếp thứ tự kết quả theo một cột theo thứ tự tăng dần và sau đó theo một cột khác theo thứ tự giảm dần:
Trong trường hợp này, mệnh đề 8:
Khi thực hiện câu lệnh 1 với một mệnh đề 8, MySQL luôn đánh giá mệnh đề 8 sau mệnh đề 7 và 1:Ví dụ về ORDER BY trong MySQLChúng ta sẽ sử dụng bảng 9 từ cơ sở dữ liệu mẫu để minh họa.Sử dụng mệnh đề ORDER BY trong MySQL để sắp xếp kết quả theo một cộtTruy vấn sau sử dụng mệnh đề 8 để sắp xếp khách hàng theo họ của họ theo thứ tự tăng dần.
Đầu ra:
Nếu bạn muốn sắp xếp khách hàng theo họ theo thứ tự giảm dần, bạn sử dụng từ khóa 5 sau cột 2 trong mệnh đề 8 như được hiển thị trong truy vấn sau:
Đầu ra: 0Sử dụng mệnh đề ORDER BY trong MySQL để sắp xếp kết quả được thiết lập theo nhiều cộtNếu bạn muốn sắp xếp khách hàng theo họ theo thứ tự giảm dần và sau đó theo tên theo thứ tự tăng dần, bạn chỉ định cả hai từ khóa 5 và 4 trong các cột tương ứng này như sau: 1Đầu ra: 2Trong ví dụ này, mệnh đề 8 sắp xếp kết quả được đặt theo họ theo thứ tự giảm dần trước và sau đó sắp xếp kết quả được sắp xếp theo tên theo thứ tự tăng dần để tạo ra tập kết quả cuối cùng.Sử dụng mệnh đề ORDER BY trong MySQL để sắp xếp kết quả được đặt bằng một biểu thứcXem bảng 7 sau từ cơ sở dữ liệu mẫu.Truy vấn sau đây truy xuất các chi tiết đơn hàng từ bảng 7. Nó tính toán thành tiền cho từng sản phẩm và sắp xếp tập hợp kết quả dựa trên thành tiền. 3Đầu ra: 4Để làm cho truy vấn dễ đọc hơn, bạn có thể gán biểu thức trong mệnh đề 1 một bí danh cột và sử dụng bí danh cột đó trong mệnh đề 8 như được hiển thị trong truy vấn sau: 5Đầu ra: 6Trong ví dụ này, chúng ta sử dụng 1 làm bí danh cột cho biểu thức 2 và sắp xếp kết quả được sắp xếp theo bí danh 1.Vì MySQL đánh giá mệnh đề 1 trước mệnh đề 8, bạn có thể sử dụng bí danh cột được chỉ định trong mệnh đề 1 trong mệnh đề 8.Sử dụng mệnh đề ORDER BY trong MySQL để sắp xếp dữ liệu bằng danh sách tùy chỉnhHàm 8 có cú pháp sau: 7Hàm 8 trả về vị trí của str trong danh sách str1, str2,…. Nếu str không có trong danh sách, hàm 8 trả về 0. Ví dụ : truy vấn sau trả về 1 vì vị trí của chuỗi 'A' là vị trí đầu tiên trong danh sách 'A', 'B','C'. 8Đầu ra: 9Và ví dụ sau trả về 2: 0Đầu ra: 1Hãy lấy một ví dụ thực tế hơn. Xem bảng 1 sau từ cơ sở dữ liệu mẫu.Giả sử rằng bạn muốn sắp xếp các đơn hàng dựa trên trạng thái của chúng theo thứ tự sau:
Để làm điều này, bạn có thể sử dụng hàm 8 để ánh xạ từng trạng thái đơn hàng thành một số và sắp xếp kết quả theo kết quả của hàm 8: 2Đầu ra: 3ORDER BY và NULL trong MySQLTrong MySQL, 4 đứng trước các giá trị không phải NULL. Do đó, khi mệnh đề 8 với tùy chọn 4, 4 xuất hiện đầu tiên trong tập kết quả.Ví dụ: truy vấn sau sử dụng mệnh đề 8 để sắp xếp nhân viên theo các giá trị trong cột 9: 4Đầu ra: 5Tuy nhiên, nếu bạn sử dụng 8 với tùy chọn 5, 4 sẽ xuất hiện cuối cùng trong tập kết quả. Ví dụ: |