Python-da SQL Sorqu vasitəsilə Qeydlərin Sıralanması

Nəticə sətirlərini sıralamaq üçün, ORDER BY əmrindən istifadə etmək lazımdır.

Nümunə

Gəlin users cədvəlimizdən bütün istifadəçileri seçək və onları yaşa görə kiçikdən böyüyə doğru sıralayaq:

pythonquery = "SELECT * FROM users ORDER BY age"

Yerinə yetirilmiş kodun nəticəsi:

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}

Nümunə

Gəlin DESC əmri ilə sıralama ardıcıllığını dəyişək:

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

Yerinə yetirilmiş kodun nəticəsi:

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}

Nümunə

Gəlin maaşı 500 olan bütün istifadəçiləri seçək və onları yaşa görə kiçikdən böyüyə doğru sıralayaq:

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

Yerinə yetirilmiş kodun nəticəsi:

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}

Nümunə

Bir sahəyə görə deyil, bir neçə sahəyə görə də sıralamaq olar. Nümunə üçün gəlin bütün istifadəçiləri seçək və əvvəlcə onları artan yaşa görə, eyni yaşda olan istifadəçiləri isə artan maaşa görə sıralayaq:

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

Yerinə yetirilmiş kodun nəticəsi:

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}

Nümunə

ORDER BY əmri LIMIT ilə birləşdirilə bilər. Bu zaman əvvəlcə sıralama əmri, sonra isə limit yazılmalıdır. Aşağıdakı nümunədə əvvəlcə qeydlər artan yaşa görə sıralanacaq, sonra isə ilk 3 ədəd götürüləcək:

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

Yerinə yetirilmiş kodun nəticəsi:

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}

Praktiki Tapşırıqlar

Задание 1

Bütün istifadəçiləri götürün və onları artan maaşa görə sıralayın.

Задание 2

Bütün istifadəçiləri götürün və onları azalan maaşa görə sıralayın.

Задание 3

Bütün istifadəçiləri götürün və onları ada görə sıralayın.

Задание 4

Maaşı 500 olan istifadəçiləri götürün və onları yaşa görə sıralayın.

Задание 5

Bütün istifadəçiləri götürün və onları ada və maaşa görə sıralayın.

Задание 6

İstifadəçiləri artan maaşa görə sıralayın və sıralama nəticəsindən ilk 3 işçini götürün.

Задание 7

İstifadəçiləri azalan maaşa görə sıralayın və sıralama nəticəsindən ilk 3 istifadəçini götürün.