RSSPHP

Sắp xếp dữ liệu theo nhiều cột

Sắp xếp dữ liệu theo nhiều cộtTrong quá trình truy vấn dữ liệu và mục tiêu của yêu cầu là bạn cần sắp xếp dữ liệu theo nhiều điều kiện khác nhau. Ví dụ như tìm ra tất cả nhân viên có mức lương từ 5 triệu đến 10 triệu và sắp xếp theo độ tuổi giảm dần và tên theo thứ tự alpha B (nghĩa là tên sắp xếp từ A à Z). Công thức cho việc giải quyết vấn đề trên theo câu lệnh truy vấn

1. Vấnđề

Trong quá trình truy vấn dữ liệu và mục tiêu của yêu cầu là bạn cần sắp xếp dữ liệu theo nhiều điều kiện khác nhau. Ví dụ như tìm ra tất cả nhân viên có mức lương từ 5 triệu đến 10 triệu và sắp xếp theo độ tuổi giảm dần và tên theo thứ tự alpha B (nghĩa là tên sắp xếp từ A à Z).  Công thức cho việc giải quyết vấn đề trên theo câu lệnh truy vấn

SELECT  <col1, col2, col3, ….> FROM <table name> WHERE <col1 =  value1,…> ORDER BY col1 ASC, col2 DESC

2. Coding

Bây giờ chúng ta áp dụng truy vấn dữ liệu và sắp xếp dữ liệu theo nhiều tiêu chí ở nhiều cột khác nhau. Hãy tìm ra tất cả những sản phẩm có ký tự bắtđầu là chữ “C” và sắp xếp theo thứ tự tăng dần của UnitPrice và giảm dần của CategoryID.

Phân tích ví dụ trên ta thấygồm có hai yêu cầu là

  • Thứ nhất, chọn ra những sản phẩm bắt đầu bằng những ký tự là chữ “C” tức là những sản phẩm như “chai”, “chang”,…tức là chúng ta sẽ sử dụng mệnh đề WHERE và toán tử “Like” để giải quyết vấn đề này
  • Thứ hai, sau khi có kết quả ta sắp xếp cột UnitPrice tăng dần sử dụng Order By CategoryID ASC và giảm dần của CategoryID tức là Order By CategoryID

Coding sẽ được cài đặt như sau

SELECT[ProductID]
,[ProductName]
,[CategoryID]
,[UnitPrice]
FROM [Products]
WHERESubstring(ProductName,0,2)LIKE'%c%'
ORDERBY UnitPrice, CategoryID DESC

Giải thích

Ở trên dùng ta dùng câu lệnh SELECT để chọn ra 4 cột dữ liệu từ bảng Products. Và tiếp tục ta sử dung function (hàm) Substring để lọc ra những giá trị có một ký tự ban đầu và dùng thuật toán Like để lọc ra những giá trị có ký tự là chữ “C”. Dữ liệu được sắp xếp tăng dần theo UnitPrice mặc định là ASC (nếu không viết rõ ràng) và DESC cho CategoryID đã được viết rõ ràng

Kết quả ta có được là 9 dòng dữ liệu thỏa mãn điều kiện trên

column

GV Hồ Đức Duy

Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

Nếu là khách, bạn phải đăng ký tài khoản và kích hoạt tài khoản để bình luận được hiển thị ở đây.
Thông tin kích hoạt gửi đến mail của bạn.

Tin mới hơn

Tin cũ hơn

Lên trên đầu