Làm cách nào để sử dụng ASC và DESC trong MySQL?

Câu lệnh ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu được tìm nạp tăng dần hoặc giảm dần theo một hoặc nhiều cột.  

  • Theo mặc định ORDER BY sắp xếp dữ liệu theo thứ tự tăng dần
  • Ta có thể sử dụng từ khóa DESC để sắp xếp dữ liệu giảm dần và từ khóa ASC để sắp xếp tăng dần

Sắp xếp theo một cột

Để sắp xếp theo thứ tự tăng dần hoặc giảm dần ta có thể sử dụng từ khóa ASC hoặc DESC tương ứng.  

cú pháp

SELECT * FROM table_name ORDER BY column_name ASC|DESC
//Where 
table_name: name of the table.
column_name: name of the column according to which the data is needed to be arranged.
ASC: to sort the data in ascending order.
DESC: to sort the data in descending order.
| : use either ASC or DESC to sort in ascending or descending order//

Sắp xếp theo nhiều cột.  

Để sắp xếp theo thứ tự tăng dần hoặc giảm dần ta có thể sử dụng từ khóa ASC hoặc DESC tương ứng. Để sắp xếp theo nhiều cột, tách tên các cột bằng toán tử (,).  

cú pháp.  

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC

Làm cách nào để sử dụng ASC và DESC trong MySQL?

Bây giờ hãy xem xét bảng cơ sở dữ liệu trên và tìm kết quả của các truy vấn khác nhau

Sắp xếp theo một cột.  

Trong ví dụ này, chúng tôi sẽ lấy tất cả dữ liệu từ bảng Sinh viên và sắp xếp kết quả theo thứ tự giảm dần theo cột ROLL_NO.  

Truy vấn

SELECT * FROM Student ORDER BY ROLL_NO DESC;

đầu ra.  

ROLL_NONAMEADDRESSPHONETuổi8NIRAJALIPURXXXXXXXXXX197ROHITBALURGHATXXXXXXXXXX186DHANRAJBARBAJARXXXXXXXXXX205SAPTARHIKOLKATAXXXXXXXXXX194DEEPRAMNAGARXXXXXXXXXX183RIYANKASILIGURIXXXXXXXXXX202PRATIKBIHARXXXXXXXXXX191HARSHDELHIXXXXXXXXXX18

Trong ví dụ trên nếu muốn sắp xếp tăng dần ta phải sử dụng ASC thay cho DESC

Sắp xếp theo nhiều cột

Trong ví dụ này, chúng tôi sẽ lấy tất cả dữ liệu từ bảng Sinh viên và sau đó sắp xếp kết quả theo thứ tự tăng dần trước theo cột Tuổi. rồi theo thứ tự giảm dần theo cột ROLL_NO.
Truy vấn.

SELECT * FROM Student ORDER BY Age ASC , ROLL_NO DESC;

đầu ra.  

ROLL_NONAMEADDRESSPHONETuổi7ROHITBALURGHATXXXXXXXXXX184DEEPRAMNAGARXXXXXXXXXX181HARSHDELHIXXXXXXXXXX188NIRAJALIPURXXXXXXXXXX195SAPTARHIKOLKATAXXXXXXXXXX192PRATIKBIHARXXXXXXXXXX196DHANRAJBARBAJARXXXXXXXXXX203RIYANKASILIGURIXXXXXXXXXX20

Ở kết quả trên, chúng ta có thể thấy rằng đầu tiên kết quả được sắp xếp theo thứ tự tăng dần theo Tuổi. Có nhiều hàng có cùng Tuổi. Bây giờ, sắp xếp thêm tập kết quả này theo ROLL_NO sẽ sắp xếp các hàng có cùng Độ tuổi theo ROLL_NO theo thứ tự giảm dần

Ghi chú

ASC là giá trị mặc định cho mệnh đề ORDER BY. Vì vậy, nếu chúng ta không chỉ định bất cứ điều gì sau tên cột trong mệnh đề ORDER BY, đầu ra sẽ được sắp xếp theo thứ tự tăng dần theo mặc định.  

Lấy một ví dụ khác về truy vấn sau đây sẽ cho kết quả tương tự như trên.
Truy vấn.

SELECT * FROM Student ORDER BY Age , ROLL_NO DESC;

đầu ra.  

ROLL_NONAMEADDRESSPHONETuổi7ROHITBALURGHATXXXXXXXXXX184DEEPRAMNAGARXXXXXXXXXX181HARSHDELHIXXXXXXXXXX188NIRAJALIPURXXXXXXXXXX195SAPTARHIKOLKATAXXXXXXXXXX192PRATIKBIHARXXXXXXXXXX196DHANRAJBARBAJARXXXXXXXXXX203RIYANKASILIGURIXXXXXXXXXX20

Sắp xếp theo số cột (thay vì tên)

Một số nguyên xác định số cột trong SelectItems trong truy vấn cơ bản của câu lệnh SELECT. Số cột phải lớn hơn 0 và không lớn hơn số cột trong bảng kết quả. Nói cách khác, muốn sắp xếp theo cột nào thì cột đó phải được chỉ định trong danh sách SELECT.

Quy tắc kiểm tra các mệnh đề ORDER BY tham chiếu chọn danh sách cột using the column number instead of the column name. Số cột trong mệnh đề ORDER BY làm giảm khả năng đọc câu lệnh SQL. Hơn nữa, việc thay đổi thứ tự các cột trong danh sách CHỌN không ảnh hưởng đến ORDER BY khi các cột được gọi bằng tên thay vì số.

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ỳ trình 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ỳ trình 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 Order By. Cú pháp cơ bản của mệnh đề MySQL Order By như hình bên dưới

SELECT Column_Names
FROM Table_Name
ORDER BY {Column, Numerical Position, Alias Columns}[ASC | DESC]

Từ cú pháp trên, bạn có thể quan sát thấy rằng chúng ta có thể sử dụng Tên cột hoặc Vị trí số của Tên cột hoặc Tên cột bí danh trong câu lệnh Order By. Chúng tôi sẽ sử dụng dữ liệu được hiển thị bên dưới để giải thích câu lệnh MySQL Order By với ví dụ

Làm cách nào để sử dụng ASC và DESC trong MySQL?

Thứ tự MySQL tăng dần

Để sắp xếp dữ liệu tăng dần, chúng ta phải sử dụng câu lệnh Order By, theo sau là từ khóa ASC. Sau đây là danh sách các cách sắp xếp dữ liệu tăng dần. Ví dụ: với tư cách là Người quản lý bán hàng, Nếu bạn muốn xác định các sản phẩm có hiệu suất thấp (Sản phẩm không có doanh số bán hàng hoặc ít doanh số bán hàng hơn), thì bạn có thể sử dụng

Khi xem kết quả, bạn có thể hiểu rằng x đang hoạt động không tốt và y không có doanh số nào. Sử dụng dữ liệu này, bạn có thể thử các chiến lược khác nhau để cải thiện doanh số

Ví dụ Sắp xếp MySQL theo thứ tự tăng dần

Trong ví dụ về MySQL này, chúng ta sẽ sắp xếp Dữ liệu theo thứ tự Tăng dần bằng cách sử dụng Thu nhập hàng năm. Vui lòng thay thế thu nhập hàng năm bằng bất kỳ cột nào bạn yêu cầu trong Bảng

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY Yearly_Income ASC;

Từ ảnh chụp màn hình bên dưới, bạn có thể thấy Dữ liệu được sắp xếp theo Thu nhập hàng năm tăng dần

MySQL Order By Asc 3

Sắp xếp theo thứ tự tăng dần mà không sử dụng ASC

Từ khóa ASC là từ khóa mặc định trong câu lệnh Order By, đó là lý do tại sao việc sử dụng ASC là tùy chọn. Trong ví dụ này, chúng tôi sẽ sắp xếp dữ liệu của khách hàng theo First_Name tăng dần mà không sử dụng từ khóa ASC

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY First_Name;
Without using ASC 2

Sắp xếp theo vị trí số tăng dần

Trong ví dụ Thứ tự MySQL theo ASC này, chúng tôi sẽ sắp xếp bảng khách hàng theo Tăng dần bằng cách sử dụng Vị trí số của Tên cột

________số 8

Vị trí số của Last_Name là 2. Vì vậy, dữ liệu được sắp xếp theo cột này

MySQL Order By Asc Numeric Position 4

Sắp xếp theo nhiều cột tăng dần

Trong ví dụ Order By ASC này, chúng tôi đang sắp xếp Dữ liệu bằng nhiều cột

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY First_Name ASC, Last_Name ASC;

--OR you can Simply Write 
ORDER BY First_Name, Last_Name

Đầu tiên, dữ liệu được sắp xếp tăng dần theo Tên. Họ sau đó sắp xếp nó theo Tăng dần

Multiple columns in ascending 5

Sắp xếp MySQL theo ASC bằng Cột bí danh

Trong ví dụ về Đơn hàng theo ASC này, chúng tôi sẽ sắp xếp Dữ liệu của khách hàng theo Tăng dần bằng cách sử dụng Tên cột bí danh

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
0

Chúng tôi đã sử dụng hàm chuỗi concat để nối các cột First Name và Last_Name để tạo Name (Tên bí danh). Tiếp theo, chúng tôi đã sử dụng tên Bí danh trong đó. Nó có nghĩa là dữ liệu của khách hàng được sắp xếp theo Tên tăng dần

Sort Using Alias Columns 6

ĐẶT HÀNG MySQL THEO Giảm dần

Để sắp xếp dữ liệu trong Giảm dần, hãy sử dụng câu lệnh Order By theo sau là từ khóa DESC. Sau đây là danh sách các cách chúng ta có thể hiển thị các bản ghi trong Descending

Ví dụ: Nếu bạn đang tìm kiếm giày trên Amazon. Nếu bạn nhập giày vào thanh tìm kiếm, nó sẽ hiển thị giày theo Xếp hạng. Điều đó có nghĩa là, Giày được hiển thị theo Xếp hạng. về mặt kỹ thuật,

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
1

Sắp xếp MySQL theo ví dụ giảm dần

Trong ví dụ MySQL Order By Desc này, chúng ta sẽ hiển thị bảng của khách hàng trong Descending bằng cách sử dụng cột Sales

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
2MySQL Sort by Descending DESC 7

Từ ảnh chụp màn hình ở trên, bạn có thể thấy rằng các hàng được sắp xếp theo Doanh số giảm dần.

Sắp xếp giảm dần sử dụng vị trí số

Vị trí số của cột Giáo dục là 3. Vì vậy, dữ liệu sử dụng cột này theo Thứ tự để hiển thị trong Giảm dần

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
3DESC using Numeric Column Position 8

Sắp xếp thứ tự MySQL theo nhiều cột giảm dần

Trong ví dụ này, chúng tôi đang tổ chức các hàng bằng nhiều cột. Đầu tiên, theo Giáo dục giảm dần và sau đó là Thu nhập hàng năm giảm dần

SELECT * FROM table_name ORDER BY column1 ASC|DESC , column2 ASC|DESC
4Multiple Columns in DESC 9

Trong ví dụ này, chúng tôi sẽ sắp xếp các hàng của bảng theo thứ tự Giảm dần bằng cách sử dụng Tên cột bí danh.

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY Yearly_Income ASC;
0

Chúng tôi đã thêm 12500 vào mỗi cột thu nhập hàng năm và sử dụng Bí danh để gán tên Thu nhập mới. Tiếp theo, chúng tôi sử dụng tên Bí danh. Nó có nghĩa là các hàng được sắp xếp theo Thu nhập mới theo thứ tự Giảm dần

Sort DESC using Alias Column 10

Kết hợp ASC và DESC

Chúng ta cũng có thể kết hợp cả từ khóa ASC và DESC trong một câu lệnh MySQL Order By. Trong ví dụ này, chúng tôi đang tổ chức Giáo dục tăng dần và sau đó theo Thu nhập hàng năm giảm dần

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY Yearly_Income ASC;
1MySQL Order By DESC 11

Chúng ta hãy sử dụng từ khóa DESC trước và từ khóa ASC thứ hai. Điều đó có nghĩa là truy vấn bên dưới sắp xếp các bản ghi theo Trình độ học vấn giảm dần và Thu nhập hàng năm theo mức tăng dần.

USE company;
SELECT First_Name, Last_Name, 
       Education, Profession, Yearly_Income, Sales 
FROM customers
ORDER BY Yearly_Income ASC;
2DESC and ASC 12

Ví dụ về dấu nhắc lệnh

Để tôi chỉ cho bạn cách sắp xếp các bản ghi bằng dấu nhắc lệnh. Ví dụ, trong Thứ tự này, chúng tôi đang sắp xếp Tên và Họ theo Tăng dần, sau đó Thu nhập Hàng năm theo Giảm dần

Làm cách nào để sử dụng DESC 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ố .

SQL có mặc định là ASC hoặc DESC không?

Theo mặc định, lệnh ORDER BY sắp xếp tập kết quả theo thứ tự tăng dần

Làm cách nào để ĐẶT HÀNG THEO hai cột trong MySQL?

Mệnh đề này xuất hiện ở cuối truy vấn SQL của bạn. Sau từ khóa ORDER BY, hãy thêm tên của cột mà bạn muốn sắp xếp bản ghi trước (trong ví dụ của chúng tôi là tiền lương). Sau đó, sau dấu phẩy, hãy thêm cột thứ hai (trong ví dụ của chúng tôi là last_name ) .

Chúng ta có thể sử dụng ORDER BY 2 desc trong SQL không?

Nếu muốn, bạn có thể sử dụng vị trí của cột trong mệnh đề ORDER BY . Xem tuyên bố sau. CHỌN tên, credit_limit TỪ khách hàng ĐẶT HÀNG THEO 2 DESC, 1; .