Python'da SQL Sorgusu ile Kayıtları Sıralama

Sonuç satırlarını sıralamak için, ORDER BY komutunu kullanmanız gerekir.

Örnek

users tablomuzdan tüm kullanıcıları seçelim ve yaşlarını küçükten büyüğe doğru sıralayalım:

pythonquery = "SELECT * FROM users ORDER BY age"

Yürütülen kodun sonucu:

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}

Örnek

DESC komutuyla sıralama düzenini değiştirelim:

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

Yürütülen kodun sonucu:

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}

Örnek

Maaşı 500 olan tüm kullanıcıları seçelim ve yaşlarını küçükten büyüğe doğru sıralayalım:

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

Yürütülen kodun sonucu:

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}

Örnek

Bir değil, birden fazla alana göre sıralama yapılabilir. Örnek olarak tüm kullanıcıları seçelim ve önce yaşları artan şekilde, ardından aynı yaştaki kullanıcıları da maaşları artan şekilde sıralayalım:

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

Yürütülen kodun sonucu:

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}

Örnek

ORDER BY komutu, LIMIT ile birleştirilebilir. Bu durumda önce sıralama komutu, sonra - limit yazılmalıdır. Aşağıdaki örnekte, önce kayıtları yaşa göre artan şekilde sıralayacağız, ardından ilk 3 tanesini alacağız:

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

Yürütülen kodun sonucu:

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}

Pratik Görevler

Задание 1

Tüm kullanıcıları alın ve maaşlarını artan şekilde sıralayın.

Задание 2

Tüm kullanıcıları alın ve maaşlarını azalan şekilde sıralayın.

Задание 3

Tüm kullanıcıları alın ve isme göre sıralayın.

Задание 4

Maaşı 500 olan kullanıcıları alın ve yaşa göre sıralayın.

Задание 5

Tüm kullanıcıları alın ve isme ve maaşa göre sıralayın.

Задание 6

Kullanıcıları maaşa göre artan şekilde sıralayın ve sıralama sonucundaki ilk 3 çalışanı alın.

Задание 7

Kullanıcıları maaşa göre azalan şekilde sıralayın ve sıralama sonucundaki ilk 3 kullanıcıyı alın.