Đây là truy vấn để đặt hàng theo ngày và giờ. Ngày sẽ được đặt hàng và sau đó là thời gian tôi. e. thời gian với ngày tương tự cũng sẽ được đặt hàng. mysql> chọn *từ OrderByDateThenTimeDemo thứ tự theo ShippingDate,ShippingTime;
Tạo một chỉ mục tổng hợp trên các bài đăng [is_active, post_date] [theo thứ tự đó]. Nó sẽ được sử dụng cho cả việc lọc trên is_active và sắp xếp theo post_date. MySQL sẽ hiển thị phương thức truy cập REF trên chỉ mục này trong GIẢI THÍCH MỞ RỘNG
Trong ví dụ này, mệnh đề ORDER BY sắp xếp tập kết quả theo họ theo thứ tự giảm dần trước rồi sắp xếp tập kết quả đã 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. C] Sử dụng MySQL ORDER BY để sắp xếp một tập hợp kết quả theo một ví dụ về biểu thức. Xem bảng orderdetails sau đây từ cơ sở dữ liệu mẫu
DATE_FORMAT chuyển từ kiểu dữ liệu DATETIME sang chuỗi. Nó không càu nhàu khi thất bại, nó chỉ trả về NULL. Đó là lý do tại sao truy vấn của bạn đang hoạt động, ngay cả khi ORDER BY không. Bạn cần sử dụng STR_TO_DATE cho những gì bạn đang cố gắng thực hiện
$result = mysql_query ["CHỌN * TỪ lịch biểu trạng thái WHERE. = 'Đã hoàn thành' && trạng thái. = 'Cancelled' ORDER BY 'when' ASC"] Đầu ra theo thứ tự được nhập vào cơ sở dữ liệu thay vì theo trường ngày giờ
MySQL DESC là dạng viết tắt của giảm dần. Nó được sử dụng để sắp xếp kết quả truy vấn theo kiểu từ trên xuống dưới. Nó được sử dụng để sắp xếp kết quả truy vấn theo kiểu từ dưới lên trên. Khi làm việc với các kiểu dữ liệu ngày, ngày sớm nhất được hiển thị ở đầu danh sách. . Khi làm việc với các loại ngày, ngày mới nhất được hiển thị trên đầu danh sách
Trường order_no sẽ tự động tăng nên chúng ta cần cung cấp order_item, ngày đặt hàng và ngày giao hàng. Ngày đặt hàng là thời điểm chúng ta đặt hàng nên có thể dùng hàm NOW[] để đặt ngày giờ hiện tại vào hàng
Mệnh đề MySQL Order By được sử dụng để sắp xếp dữ liệu bảng theo thứ tự tăng dần hoặc giảm dần. Theo mặc định, dữ liệu không được chèn vào Bảng theo bất kỳ thứ tự nào trừ khi bạn có chỉ mục. Vì vậy, nếu bạn muốn truy xuất dữ liệu theo bất kỳ thứ tự cụ thể nào, bạn phải sắp xếp nó bằng cách sử dụng câu lệnh MySQL Order By
Chọn và sắp xếp dữ liệu từ cơ sở dữ liệu MySQL. Mệnh đề ORDER BY được sử dụng để sắp xếp tập kết quả theo thứ tự tăng dần hoặc giảm dần. Theo mặc định, mệnh đề ORDER BY sắp xếp các bản ghi theo thứ tự tăng dần. Để sắp xếp các bản ghi theo thứ tự giảm dần, hãy sử dụng từ khóa DESC
Sắp xếp bảng rất quan trọng nếu bạn có một số dữ liệu và bạn muốn hiển thị nó ở dạng bảng, bạn có thể phải thêm chức năng sắp xếp bảng vì nó cho phép người dùng tự do xem dữ liệu theo các thứ tự khác nhau theo nhu cầu của mình. Vì vậy, trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sắp xếp bảng mysql bằng PHP. Bạn cũng có thể thích bảng sắp xếp bằng jQuery
Hàm strtotime[] là một hàm PHP thay đổi một ngày nhất định ở bất kỳ định dạng nào thành dấu thời gian có bản chất là một số nguyên lớn và sau đó trong khi sắp xếp mảng, chúng ta có thể dễ dàng sử dụng PHP. hàm usort[] bằng cách định nghĩa một hàm so sánh
PHP MySQL ĐẶT HÀNG THEO Mệnh đề. Trong hướng dẫn này, bạn sẽ học cách sắp xếp và hiển thị dữ liệu từ bảng MySQL theo thứ tự tăng dần hoặc giảm dần bằng cách sử dụng PHP. Sắp xếp tập kết quả. Mệnh đề ORDER BY có thể được sử dụng kết hợp với câu lệnh SELECT để xem dữ liệu từ một bảng được sắp xếp theo một trường cụ thể
Bảng HTML sẽ chứa dữ liệu từ bảng cơ sở dữ liệu MySQL và chúng tôi sẽ sử dụng PHP & MySQL để giải quyết vấn đề này và sắp xếp bảng theo cột hoặc sắp xếp dữ liệu bảng theo giá trị. Bảng MySQL Hãy tạo một bảng MySQL đơn giản “Sinh viên” trong cơ sở dữ liệu mẫu “Trường học” với trường
Sử dụng lệnh SELECT, kết quả được trả về theo cùng thứ tự các bản ghi được thêm vào cơ sở dữ liệu. Đây là thứ tự sắp xếp mặc định. Trong phần này, chúng ta sẽ xem xét cách chúng ta có thể sắp xếp kết quả truy vấn của mình. Sắp xếp chỉ đơn giản là sắp xếp lại kết quả truy vấn của chúng tôi theo một cách cụ thể. Sắp xếp có thể được thực hiện trên một cột hoặc trên nhiều cột. Nó có thể được thực hiện trên các kiểu dữ liệu số, chuỗi cũng như ngày tháng
ORDER BY trong MySQL là gì?
MySQL ORDER BY được sử dụng kết hợp với truy vấn SELECT để sắp xếp dữ liệu một cách có trật tự. Mệnh đề ORDER BY của MySQL được sử dụng để sắp xếp các tập kết quả truy vấn theo thứ tự tăng dần hoặc giảm dần
SELECT statement.. [WHERE condition | GROUP BY `field_name[s]` HAVING condition] ORDER BY `field_name[s]` [ASC | DESC];
ĐÂY
- “Câu lệnh SELECT…” là truy vấn chọn thông thường
- ”. “đại diện cho các lựa chọn thay thế
- “[Ở ĐÂU điều kiện. NHÓM THEO `field_name[s]` Điều kiện CÓ” là điều kiện tùy chọn được sử dụng để lọc các tập kết quả truy vấn
- “ORDER BY” thực hiện sắp xếp tập kết quả truy vấn
- "[TĂNG DẦN. DESC]” là từ khóa được sử dụng để sắp xếp các tập kết quả theo thứ tự tăng dần hoặc giảm dần. Lưu ý ASC được sử dụng làm mặc định
Từ khóa DESC và ASC là gì?
Cả hai từ khóa SQL DESC và ASC đều được sử dụng cùng với câu lệnh SELECT và mệnh đề ORDER BY của MySQL
Cú pháp DESC và ASC
Từ khóa sắp xếp SQL DESC có cú pháp cơ bản sau
SELECT {fieldName[s] | *} FROM tableName[s] [WHERE condition] ORDER BY fieldname[s] ASC /DESC [LIMIT N]
ĐÂY
- CHỌN {fieldName[s]. *} TỪ[các] tên bảng là câu lệnh chứa các trường và [các] bảng mà từ đó lấy tập kết quả từ
- [Điều kiện WHERE] là tùy chọn nhưng có thể được sử dụng để lọc dữ liệu theo điều kiện đã cho
- ORDER BY [các] tên trường là bắt buộc và là trường thực hiện sắp xếp. Từ khóa MySQL DESC chỉ định rằng việc sắp xếp sẽ theo thứ tự giảm dần
- [LIMIT] là tùy chọn nhưng có thể được sử dụng để giới hạn số lượng kết quả được trả về từ tập hợp kết quả truy vấn
ví dụ
Bây giờ hãy xem xét một ví dụ thực tế –
SELECT * FROM members;
Thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb mang lại cho chúng tôi các kết quả sau được hiển thị bên dưới
membership_number full_names gender date_of_birth physical_address postal_address contct_number email 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com 4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL 5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL 6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL 7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL 8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL 9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553
Giả sử bộ phận tiếp thị muốn các chi tiết của thành viên được sắp xếp theo thứ tự Ngày sinh giảm dần. Điều này sẽ giúp họ gửi lời chúc mừng sinh nhật kịp thời. Chúng ta có thể lấy danh sách đã nói bằng cách thực hiện một truy vấn như bên dưới -
SELECT * FROM members ORDER BY date_of_birth DESC;
Thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb mang lại cho chúng tôi các kết quả sau được hiển thị bên dưới
Cùng một truy vấn theo thứ tự tăng dần
CHỌN * TỪ thành viên ĐẶT HÀNG THEO date_of_birth ASC
Ghi chú. Giá trị NULL có nghĩa là không có giá trị nào [không phải số 0 hoặc chuỗi rỗng]. Quan sát cách chúng được sắp xếp
Thêm ví dụ
Hãy xem xét sắp xếp SQL sau theo tập lệnh liệt kê tất cả các bản ghi thành viên
SELECT * FROM `members`;
Thực thi đoạn script trên cho kết quả như bên dưới
membership_number full_names gender date_of_birth physical_address postal_address contct_number email 1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 rm@tstreet.com 4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL 5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL 6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL 7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL 8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL 9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL
Giả sử chúng tôi muốn nhận danh sách sắp xếp tập kết quả truy vấn bằng trường giới tính, chúng tôi sẽ sử dụng tập lệnh được hiển thị bên dưới
SELECT * FROM `members` ORDER BY `gender`;________số 8_______
Các thành viên “Nữ” đã được hiển thị đầu tiên theo sau là các thành viên “Nam”, điều này là do khi mệnh đề ORDER BY DESC được sử dụng mà không chỉ định từ khóa ASC hoặc MySQL DESC, theo mặc định, MySQL đã sắp xếp tập kết quả truy vấn theo thứ tự tăng dần
Bây giờ chúng ta hãy xem một ví dụ sắp xếp bằng hai cột;
SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;
Thực thi tập lệnh trên trong bàn làm việc của MySQL đối với myflixdb sẽ cho kết quả sau
Theo mặc định, cột giới tính được sắp xếp theo thứ tự tăng dần trong khi cột ngày sinh được sắp xếp theo thứ tự giảm dần một cách rõ ràng
Tại sao chúng ta có thể sử dụng DESC và ASC?
Giả sử chúng tôi muốn in lịch sử thanh toán cho một thành viên thư viện video để giúp trả lời các câu hỏi từ quầy lễ tân, sẽ không hợp lý hơn nếu in các khoản thanh toán theo thứ tự thời gian giảm dần bắt đầu từ khoản thanh toán gần đây đến khoản thanh toán trước đó?
DESC trong SQL là một từ khóa trở nên tiện dụng trong những tình huống như vậy. Chúng tôi có thể viết một truy vấn sắp xếp danh sách theo thứ tự giảm dần bằng cách sử dụng ngày thanh toán
Giả sử bộ phận tiếp thị muốn lấy danh sách phim theo thể loại mà các thành viên có thể sử dụng để quyết định phim nào có sẵn trong thư viện khi thuê phim, sẽ không hợp lý hơn nếu sắp xếp tên và tiêu đề thể loại phim tăng dần sao cho
Từ khóa ASC có ích trong những tình huống như vậy;