Արտագրումների դասակարգում 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 օգտատերերին: