ĐẶT HÀNG BẰNG MySQL
Sử dụng từ khóa SELECT * FROM exam ORDER BY exam_date ASC;2 và tên của cột mà bạn muốn sắp xếp. Bằng cách này, bạn sẽ sắp xếp dữ liệu theo thứ tự tăng dần theo cột này. Bạn cũng có thể sử dụng từ khóa SELECT * FROM exam ORDER BY exam_date ASC;3 để làm rõ rằng thứ tự tăng dần (ngày sớm nhất được hiển thị đầu tiên, ngày mới nhất được hiển thị cuối cùng, v.v. ) Show SELECT * FROM exam ORDER BY exam_date ASC; Nếu bạn muốn xem ngày mới nhất trước và ngày sớm nhất cuối cùng, bạn cần sắp xếp theo thứ tự giảm dần. Sử dụng từ khóa SELECT * FROM exam ORDER BY exam_date ASC;4 trong trường hợp này SELECT * FROM exam ORDER BY exam_date DESC; Lưu ý rằng trong MySQL, SELECT * FROM exam ORDER BY exam_date ASC;5 được hiển thị đầu tiên khi sắp xếp theo thứ tự tăng dần và cuối cùng khi sắp xếp theo thứ tự giảm dần. Ngoài ra, các hàng có exam_date giống nhau được hiển thị theo thứ tự ngẫu nhiên (bạn có thể thấy SELECT * FROM exam ORDER BY exam_date ASC;7 thứ ba và SELECT * FROM exam ORDER BY exam_date ASC;8 thứ tư, hoặc SELECT * FROM exam ORDER BY exam_date ASC;8 thứ ba và SELECT * FROM exam ORDER BY exam_date ASC;7 thứ tư) ví dụ 2Bảng SELECT * FROM exam ORDER BY exam_date DESC;3, SELECT * FROM exam ORDER BY exam_date DESC;4 và SELECT * FROM exam ORDER BY exam_date DESC;5. Các tháng được đặt tên, không phải bằng sốsubjectexam_yearexam_monthexam_dayMathematics2019December19English2020January8Science2020January5Health2020January5ArtNULLNULLNULL Bạn muốn sắp xếp các hàng theo ngày thi Giải phápSELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d'); Kết quả trông như thế này (các hàng được sắp xếp theo thứ tự tăng dần bởi SELECT * FROM exam ORDER BY exam_date DESC;3, SELECT * FROM exam ORDER BY exam_date DESC;4 và exam_date )subjectexam_yearexam_monthexam_dayArtNULLNULLNULLMathematics2019December19Health2020January5Science2020January5English2020January8Thảo luậnĐể sắp xếp theo ngày, hãy tạo các giá trị ngày từ các giá trị năm, tháng và ngày. Để thực hiện việc này, hãy sử dụng hàm STR_TO_DATE(). Nếu bạn có một ngày được lưu trữ dưới dạng một chuỗi ở định dạng '_______4_______9', bạn có thể chuyển ngày đó thành một ngày bằng cách sử dụng SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');0. Nhưng trước tiên, bạn cần tạo một chuỗi bằng hàm CONCAT() CONCAT(exam_year, ' ', exam_month, ' ', exam_day) Hàm SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');1 kết hợp tất cả các đối số thành một chuỗi. Bạn không cần truyền số thành chuỗi. Vì bạn muốn lấy một chuỗi ở định dạng ' SELECT * FROM exam ORDER BY exam_date DESC;9', nên các đối số là SELECT * FROM exam ORDER BY exam_date DESC;3, SELECT * FROM exam ORDER BY exam_date DESC;4, SELECT * FROM exam ORDER BY exam_date DESC;5 và khoảng cách giữa chúng Sau đó, bạn cần chuyển đổi chuỗi này thành ngày tháng bằng hàm SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');0. Đối số thứ hai của hàm này là định dạng ngày tháng. SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');7 là viết tắt của năm, SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');8 là viết tắt của tháng (tên đầy đủ của tháng, không phải số) và SELECT * FROM exam ORDER BY STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d');9 là viết tắt của ngày STR_TO_DATE(CONCAT(exam_year, ' ', exam_month, ' ', exam_day), '%Y %M %d') Sử dụng nó với mệnh đề SELECT * FROM exam ORDER BY exam_date ASC;2 để sắp xếp các hàng theo thứ tự tăng dần theo ngày. Nếu bạn muốn xem các hàng theo thứ tự giảm dần, chỉ cần thêm từ khóa SELECT * FROM exam ORDER BY exam_date ASC;4, như thế này 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]; NƠI ĐÂY
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] NƠI ĐÂY
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 [email protected] 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL [email protected] 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 [email protected] 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ị (không phải chuỗi 0 hoặc 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 [email protected] 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL [email protected] 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 [email protected] 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`; 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 [email protected] 2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL [email protected] 4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL 3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 [email protected] 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 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ả như 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; ĐẶT HÀNG MySQL là gì?ĐẶT HÀNG MySQL THEO TỪ KHÓA
. Theo mặc định, từ khóa ORDER BY sắp xếp các bản ghi theo thứ tự tăng dần. used to sort the result-set in ascending or descending order. The ORDER BY keyword sorts the records in ascending order by default.
Làm cách nào để viết ORDER BY trong MySQL?Mệnh đề ORDER BY MYSQL được sử dụng để sắp xếp các bản ghi theo thứ tự tăng dần hoặc giảm dần. . CHỌN biểu thức TỪ bảng [Điều kiện NƠI] ĐẶT HÀNG THEO biểu thức [ ASC. DESC ]; Làm cách nào để sử dụng WHERE và ORDER BY trong MySQL?Khi sắp xếp tập kết quả của bạn theo thứ tự giảm dần, bạn sử dụng thuộc tính DESC trong mệnh đề ORDER BY như sau. CHỌN last_name, first_name, city TỪ địa chỉ liên hệ WHERE last_name = 'Johnson' ORDER BY city DESC; Ví dụ MySQL ORDER BY này sẽ trả về tất cả các bản ghi được sắp xếp theo thành phố .
ORDER BY và GROUP BY trong MySQL là gì?NHÓM THEO và ĐẶT HÀNG THEO Giải thích
. Trong khi đó, mệnh đề GROUP BY dùng để sắp xếp dữ liệu thành các nhóm với sự trợ giúp của các hàm tổng hợp như COUNT(), AVG, MIN() và MAX(). The purpose of the ORDER BY clause is to sort the query result by one or more columns. Meanwhile, the GROUP BY clause is used to arrange data into groups with the help of aggregate functions such as COUNT(), AVG, MIN() and MAX(). |