Sắp xếp bản ghi thông qua truy vấn SQL trong Python

Để sắp xếp các hàng của kết quả, cần sử dụng lệnh ORDER BY.

Ví dụ

Hãy chọn tất cả người dùng từ bảng users của chúng ta và sắp xếp họ theo tuổi từ nhỏ đến lớn:

pythonquery = "SELECT * FROM users ORDER BY age"

Kết quả của mã đã thực thi:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}

Ví dụ

Hãy thay đổi thứ tự sắp xếp bằng lệnh DESC:

pythonquery = "SELECT * FROM users ORDER BY age DESC"

Kết quả của mã đã thực thi:

python{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}

Ví dụ

Hãy chọn tất cả người dùng có mức lương 500 và sắp xếp họ theo tuổi từ nhỏ đến lớn:

pythonquery = "SELECT * FROM users WHERE salary=500 ORDER BY age"

Kết quả của mã đã thực thi:

python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Ví dụ

Có thể sắp xếp không phải theo một trường, mà theo một số trường. Ví dụ, hãy chọn tất cả người dùng và sắp xếp họ đầu tiên theo tuổi tăng dần, và những người dùng có cùng tuổi thì sắp xếp theo mức lương tăng dần:

pythonquery = "SELECT * FROM users ORDER BY age, salary"

Kết quả của mã đã thực thi:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}

Ví dụ

Lệnh ORDER BY có thể kết hợp với LIMIT . Trong trường hợp này cần viết lệnh sắp xếp trước, sau đó - giới hạn. Trong ví dụ tiếp theo, trước tiên hãy sắp xếp các bản ghi theo tuổi tăng dần, sau đó lấy 3 bản ghi đầu tiên:

pythonquery = "SELECT * FROM users ORDER BY age LIMIT 3"

Kết quả của mã đã thực thi:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Bài tập thực hành

Задание 1

Hãy lấy tất cả người dùng và sắp xếp họ theo mức lương tăng dần.

Задание 2

Hãy lấy tất cả người dùng và sắp xếp họ theo mức lương giảm dần.

Задание 3

Hãy lấy tất cả người dùng và sắp xếp họ theo tên.

Задание 4

Hãy lấy những người dùng có mức lương 500 và sắp xếp họ theo tuổi.

Задание 5

Hãy lấy tất cả người dùng và sắp xếp họ theo tên và theo mức lương.

Задание 6

Hãy sắp xếp người dùng theo mức lương tăng dần và lấy 3 nhân viên đầu tiên từ kết quả sắp xếp.

Задание 7

Hãy sắp xếp người dùng theo mức lương giảm dần và lấy 3 người dùng đầu tiên từ kết quả sắp xếp.