ჩანაწერების დალაგება SQL მოთხოვნით Python-ში

შედეგის სტრიქონების დასალაგებლად, გამოიყენეთ ბრძანება ORDER BY.

მაგალითი

ამოვიღოთ ჩვენი ცხრილიდან users ყველა მომხმარებელი და დავალაგოთ ისინი ასაკის მიხედვით უმცროსიდან უფროსისაკენ:

pythonquery = "SELECT * FROM users ORDER BY age"

შესრულებული კოდის შედეგი:

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}

მაგალითი

შევუცვალოთ დალაგების თანმიმდევრობა ბრძანების DESC გამოყენებით:

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

შესრულებული კოდის შედეგი:

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}

მაგალითი

ამოვიღოთ ყველა მომხმარებელი ხელფასით 500 და დავალაგოთ ისინი ასაკის მიხედვით უმცროსიდან უფროსისაკენ:

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

შესრულებული კოდის შედეგი:

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}

მაგალითი

შესაძლებელია დალაგება არა ერთი, არამედ რამდენიმე ველის მიხედვით. მაგალითისთვის ამოვიღოთ ყველა მომხმარებელი და დავალაგოთ ისინი ჯერ ასაკის ზრდის მიხედვით, ხოლო მომხმარებლები ერთი და იგივე ასაკით დალაგდნენ ხელფასის ზრდის მიხედვით:

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

შესრულებული კოდის შედეგი:

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}

მაგალითი

ბრძანება ORDER BY შესაძლებელია კომბინირებული იყოს LIMIT-თან. ამ შემთხვევაში ჯერ უნდა იყოს დაწერილი დალაგების ბრძანება, ხოლო შემდეგ - ლიმიტი. შემდეგ მაგალითში ჯერ დავალაგებთ ჩანაწერებს ასაკის ზრდის მიხედვით, შემდეგ ავიღებთ პირველ 3 ჩანაწერს დალაგების შედეგიდან:

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

შესრულებული კოდის შედეგი:

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}

პრაქტიკული ამოცანები

Задание 1

ამოიღეთ ყველა მომხმარებელი და დალაგეთ ისინი ხელფასის ზრდის მიხედვით.

Задание 2

ამოიღეთ ყველა მომხმარებელი და დალაგეთ ისინი ხელფასის კლების მიხედვით.

Задание 3

ამოიღეთ ყველა მომხმარებელი და დალაგეთ ისინი სახელის მიხედვით.

Задание 4

ამოიღეთ მომხმარებლები ხელფასით 500 და დალაგეთ ისინი ასაკის მიხედვით.

Задание 5

ამოიღეთ ყველა მომხმარებელი და დალაგეთ ისინი სახელის და ხელფასის მიხედვით.

Задание 6

დალაგეთ მომხმარებლები ხელფასის ზრდის მიხედვით და მიიღეთ პირველი 3 თანამშრომელი დალაგების შედეგიდან.

Задание 7

დალაგეთ მომხმარებლები ხელფასის კლების მიხედვით და მიიღეთ პირველი 3 მომხმარებელი დალაგების შედეგიდან.