[MySQL 11] ORDER BY in MySQL: DESC & ASC

Xếp đặt kết quả

Https://phptravels.vn/ đã cân nhắc cách lấy dữ liệu từ các bảng của http://phptravels.vn/ bằng lệnh SELECT. 

Kết quả được trả về theo cùng thứ tự các hồ sơ đã được thêm vào DataBase. 

Đây là thứ tự sắp đặt mặc định. 

Trong phần này, http://phptravels.vn/ sẽ cân nhắc cách http://phptravels.vn/ có thể sắp đặt kết quả truy vấn của mình. 

Xếp đặt chỉ dễ dàng là sắp đặt lại kết quả truy vấn của http://phptravels.vn/ theo một cách rõ ràng và cụ thể

 . 

Xếp đặt 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 số, chuỗi cũng như các loại dữ liệu ngày.

Xếp đặt theo mệnh đề

Mệnh đề theo mệnh đề được sử dụng để sắp đặt các tập kết quả truy vấn theo thứ tự tăng dần hoặc giảm dần. 

Nó được sử dụng cùng với truy vấn SELECT. 

Nó có cú pháp căn bản sau.

SELECT statement... [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

ĐÂY

  • “SELECT statement…” là truy vấn chọn thông thường

  • “|”

      đại diện cho các lựa chọn thay thế

  • “[WHERE condition | GROUP BY `field_name(s)` HAVING condition”

     

     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

  • “[ASC | DESC]” là keyword được sử dụng để sắp đặt các tập kết quả theo thứ tự tăng dần hoặc giảm dần. 

    Cảnh báo 

    ASC

     được sử dụng làm mặc định.

Keyword DESC & ASC là gì?

ASC là dạng tóm gọn để tăng dần

DESC là dạng tóm gọn để giảm dần

Nó được sử dụng để sắp đặt các kết quả truy vấn theo kiểu từ trên xuống dưới.

Nó được sử dụng để sắp đặt các 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 loại dữ liệu ngày, ngày sớm nhất được hiển thị trên đầu mục lục.

Khi làm việc với các loại ngày, ngày tiên tiến nhất được hiển thị trên đầu mục lục.

Khi làm việc với các loại dữ liệu số, các giá trị thấp nhất được hiển thị trên đầu mục lục.

Khi làm việc với các loại dữ liệu số, các giá trị cao nhất được hiển thị ở đầu tập kết quả truy vấn.

Khi làm việc với các kiểu dữ liệu chuỗi, tập kết quả truy vấn được sắp đặt từ các kiểu khởi đầu bằng chữ ? đi lên chữ Ż.

Khi làm việc với các kiểu dữ liệu chuỗi, tập kết quả truy vấn được sắp đặt từ các kiểu khởi đầu bằng chữ Ż đi xuống chữ ?.

Cả hai keyword DESC & ASC đều được sử dụng cùng với câu lệnh SELECT & mệnh đề ORDER BY.

Cú pháp DESC & ASC

Keyword sắp đặt DESC có cú pháp căn bản sau.

SELECT  * FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

ĐÂY

  • SELECT * FROM tableName(s) là câu lệnh chứa các trường & bảng (từ đó) để lấy kết quả được đặt từ đó.

  • [WHERE condition] 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 tên trường là bắt buộc & là trường mà việc sắp đặt sẽ được thực hiện. 

    Keyword DESC chỉ định rằng việc sắp đặt sẽ theo thứ tự giảm dần.

  • [LIMIT] là tùy chọn nhưng có thể được sử dụng để hạn chế số lượng kết quả được trả về từ tập kết quả truy vấn.

Chẳng hạn:

SELECT * FROM members;

Việc thực thi đoạn script trên trong bàn làm việc của MySQL so với myflixdb cho tất cả chúng ta các kết quả sau được hiển thị bên dưới.

membership_numberfull_namesgenderdate_of_birthphysical_addresspostal_addresscontct_numberemail
1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542janetjones@yagoo.cm
2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULLjj@fstreet.com
3Robert PhilMale12-07-19893rd Street 34NULL12345rm@tstreet.com
4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
9Howard WolowitzMale24-08-1981SouthParkP.Σ. Box 4563987786553

Giả sử phòng ban quảng cáo mong muốn các cụ thể member được sắp đặt theo thứ tự ngày sinh giảm dần. 

Điều này sẽ giúp họ gửi câu chúc mừng sinh nhật một cách kịp thời. 

Https://phptravels.vn/ có thể thu được mục lục đã nói bằng cách thực hiện một truy vấn như dưới đây 

SELECT * FROM members ORDER BY date_of_birth DESC;

Việc thực thi đoạn script trên trong bàn làm việc của MySQL so với myflixdb cho tất cả chúng ta các kết quả sau được hiển thị bên dưới.

Truy vấn tương đương theo thứ tự tăng dần

CHỌN * TỪ các member ĐẶT HÀNG THEO date_of_birth ASC

Cảnh báo: Giá trị NULL có nghĩa là không có giá trị (không phải chuỗi 0 hoặc chuỗi rỗng). 

Xem xét cách chúng đã được sắp đặt.

Thêm chẳng hạn

Hãy cân nhắc các cốt chuyện sau đây liệt kê toàn bộ các hồ sơ member.

SELECT * FROM `members`;

Thực hiện đoạn script trên cho kết quả như sau.

membership_number

full_names

gender

date_of_birth

physical_address

postal_address

contct_number

tin nhắn hộp thư online

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

ᴘ.Σ. Box 4563

987786553

NULL


Giả sử http://phptravels.vn/ mong muốn nhận mục lục sắp đặt tập kết quả truy vấn bằng trường giới tính, http://phptravels.vn/ 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

tin nhắn hộp thư online

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

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

rm@tstreet.com

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

ᴘ.Σ. Box 4563

987786553

NULL

Các member “Nữ” đã được hiển thị trước nhất theo sau bởi các member “Nam”, điều đó là do khi mệnh đề theo thứ tự được sử dụng mà chẳng những định keyword ASC hoặc DESC, theo mặc định, MySQL đã sắp đặt kết quả truy vấn theo thứ tự tăng dần.

Hiện tại tất cả chúng ta hãy xem một chẳng hạn thực hiện 

phân loại bằng hai cột

 ; 

người trước nhất được 

sắp đặt

 trong 

thứ tự tăng dần

 theo mặc định trong lúc cột thứ hai được 

sắp đặt

 trong 

thứ tự giảm dần.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Việc thực thi đoạn script trên trong bàn làm việc của MySQL so với myflixdb cho kết quả như sau.

Cột giới tính được sắp đặt theo thứ tự tăng dần theo mặc định trong lúc cột ngày sinh được sắp đặt theo thứ tự giảm dần rõ ràng và cụ thể

Vì sao tất cả chúng ta có thể sử dụng DESC & ASC?

Giả sử http://phptravels.vn/ mong muốn in lịch sử thanh toán cho member thư viện video để giúp giải đáp các truy vấn từ quầy lễ tân, sẽ không hợp lý hơn nếu các khoản thanh toán được in theo thứ tự thời gian giảm dần khởi đầu bằng khoản thanh toán gần đây cho khoản thanh toán trước đây?

Keyword DESC bổ ích trong các tình huống như thế. 

Https://phptravels.vn/ có thể viết một truy vấn sắp đặt mục lục theo thứ tự giảm dần bằng cách dùng ngày thanh toán.

Giả sử phòng ban quảng cáo mong muốn có một mục lục các bộ phim theo chuyên mục mà các member có thể sử dụng để quyết định những bộ phim nào có sẵn trong thư viện khi thuê phim, sẽ không hợp lý hơn nếu nhìn sắp đặt tên & tiêu đề của bộ phim theo thứ tự tăng dần để Member có thể mau chóng tra cứu thông tin từ mục lục?

Keyword ASC bổ ích trong các tình huống như thế; 

tất cả chúng ta có thể lấy mục lục phim được sắp đặt theo tên mục lục & tiêu đề phim theo thứ tự tăng dần.

Tóm tắt

  • Xếp đặt kết quả truy vấn là sắp đặt lại các hàng được trả về từ kết quả truy vấn được đặt theo thứ tự tăng dần hoặc giảm dần.

  • Keyword DESC được sử dụng để sắp đặt kết quả truy vấn được sắp đặt theo thứ tự giảm dần.

  • Keyword ASC được sử dụng để sắp đặt kết quả truy vấn được đặt theo thứ tự tăng dần.

  • Cả DESC & ASC đều hoạt động cùng với keyword ORDER BY. 

    Chúng cũng có thể được sử dụng kết phù hợp với các keyword khác như mệnh đề WHERE & GIỚI HẠN

  • Mặc định cho ORDER BY khi không có gì được chỉ định rõ ràng và cụ thể là ASC.

Xem Thêm  Cách thay đổi màu liên kết bằng CSS - màu kích thước a href

Viết một bình luận