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:
query = "SELECT * FROM users ORDER BY age"
Yerinə yetirilmiş kodun nəticəsi:
{'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:
query = "SELECT * FROM users ORDER BY age DESC"
Yerinə yetirilmiş kodun nəticəsi:
{'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:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Yerinə yetirilmiş kodun nəticəsi:
{'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:
query = "SELECT * FROM users ORDER BY age, salary"
Yerinə yetirilmiş kodun nəticəsi:
{'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:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Yerinə yetirilmiş kodun nəticəsi:
{'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
Bütün istifadəçiləri götürün və onları artan maaşa görə sıralayın.
Bütün istifadəçiləri götürün və onları azalan maaşa görə sıralayın.
Bütün istifadəçiləri götürün və onları ada görə sıralayın.
Maaşı 500 olan istifadəçiləri
götürün və onları yaşa görə sıralayın.
Bütün istifadəçiləri götürün və onları ada və maaşa görə sıralayın.
İ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.
İ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.