Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào bạn có thể sắp xếp kết quả thu được bằng truy vấn chọn trong MySQL?

Việc chọn dữ liệu hoặc hàng nhất định từ một bảng là điều thường thấy. Các hàng được trả về theo thứ tự xuất hiện trong bảng. Đôi khi chúng tôi có thể yêu cầu các hàng chúng tôi chọn từ bảng phải được trả lại cho chúng tôi theo thứ tự tăng dần hoặc giảm dần đối với một số cột.

Câu lệnh "ORDER BY" được sử dụng để sắp xếp các kết quả đối với một số cột. Ví dụ sau sẽ cung cấp rõ ràng hơn.

Giả sử, chúng ta có một bảng bao gồm các trường khác nhau bao gồm cả trường "tên". Chúng tôi muốn chọn tất cả các hàng từ bảng nhưng chúng tôi muốn các hàng phải được sắp xếp theo thứ tự bảng chữ cái của tên. Đây là lúc câu lệnh "ORDER BY" phát huy tác dụng. Trường hợp này yêu cầu chúng tôi sắp xếp các kết quả theo thứ tự tăng dần của trường “tên”.

Theo mặc định, câu lệnh “ORDER BY” sắp xếp cột được chỉ định theo thứ tự tăng dần. Nếu bạn muốn kết quả được sắp xếp theo thứ tự giảm dần, bạn cần chỉ định như vậy. Để sắp xếp kết quả theo thứ tự giảm dần, từ khóa “DESC” phải được chỉ định.

Cú pháp

Thứ tự tăng dần

SELECT * FROM table_name ORDER BY column_name

Thứ tự giảm dần

SELECT * FROM table_name ORDER BY column_name DESC

Các bước được yêu cầu để sắp xếp dữ liệu được truy xuất từ ​​bảng bằng MySQL trong python

  • nhập trình kết nối MySQL

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • tạo một truy vấn bằng cách sử dụng các câu lệnh mysql thích hợp

  • thực hiện truy vấn SQL bằng phương thức execute ()

  • đóng kết nối

Giả sử chúng ta có một bảng tên là “Sinh viên” như sau -

+----------+---------+-----------+------------+
|    Name  |   Class |    City   | Marks      |
+----------+---------+-----------+------------+
|    Karan |    4    |  Amritsar |    95      |
|    Sahil |    6    |  Amritsar |    93      |
|    Kriti |    3    |    Batala |    88      |
|   Khushi |    9    |    Delhi  |    90      |
|    Kirat |    5    |    Delhi  |    85      |
+----------+---------+-----------+------------+

Ví dụ

Chúng tôi muốn chọn tất cả các hàng từ bảng nhưng theo thứ tự bảng chữ cái tên của chúng. Tóm lại, chúng tôi muốn sắp xếp kết quả theo thứ tự tăng dần của tên.

import mysql.connector

db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query= "SELECT * FROM Students ORDER BY Name"
cursor.execute(query)
for row in cursor:
   print(row)

Đoạn mã trên khi được thực thi thành công sẽ trả về các hàng theo thứ tự tăng dần hoặc theo thứ tự bảng chữ cái của tên học sinh.

Đầu ra

(‘Amit’ , 9 , ‘Delhi’ , 90)
(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Kriti’ , 3 , ‘Batala’ ,88)
(‘Priya’ , 5 , ‘Delhi’ ,85)
(‘Sahil’ , 6 , ‘Amritsar’ ,93)

Tất cả các hàng được hiển thị theo thứ tự bảng chữ cái của tên. Tương tự, các hàng có thể được sắp xếp theo thứ tự tăng dần hoặc giảm dần của các dấu theo cú pháp tương tự.