Արտագրումների դասակարգում SQL հարցումով Python-ում
Որպեսզի դասակարգել արդյունքի տողերը,
անհրաժեշտ է օգտագործել ORDER
BY հրամանը:
Օրինակ
Եկեք մեր users աղյուսակից ընտրենք բոլոր
օգտատերերին և դասակարգենք նրանք տարիքով՝
փոքրից մեծ:
query = "SELECT * FROM users ORDER BY age"
Կատարված կոդի արդյունքը:
{'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 հրամանը:
query = "SELECT * FROM users ORDER BY age DESC"
Կատարված կոդի արդյունքը:
{'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
աշխատավարձ և դասակարգենք նրանց տարիքով՝ փոքրից
մեծ:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Կատարված կոդի արդյունքը:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Օրինակ
Կարելի է դասակարգել ոչ թե մեկ դաշտով, այլ մի քանիսով: Եկեք օրինակի համար ընտրենք բոլոր օգտատերերին և դասակարգենք նրանց նախ՝ ըստ տարիքի աճման, իսկ նույն տարիք ունեցող օգտատերերին դասակարգենք ըստ աշխատավարձի աճման:
query = "SELECT * FROM users ORDER BY age, salary"
Կատարված կոդի արդյունքը:
{'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
հատը:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Կատարված կոդի արդյունքը:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Գործնական առաջադրանքներ
Վերցրեք բոլոր օգտատերերին և դասակարգեք նրանց ըստ աշխատավարձի աճման:
Վերցրեք բոլոր օգտատերերին և դասակարգեք նրանց ըստ աշխատավարձի նվազման:
Վերցրեք բոլոր օգտատերերին և դասակարգեք նրանց ըստ անվան:
Վերցրեք 500 աշխատավարձ ունեցող օգտատերերին և
դասակարգեք նրանց ըստ տարիքի:
Վերցրեք բոլոր օգտատերերին և դասակարգեք նրանց ըստ անվան և ըստ աշխատավարձի:
Դասակարգեք օգտատերերին ըստ աշխատավարձի աճման
և վերցրեք դասակարգման արդյունքից առաջին 3
աշխատողներին:
Դասակարգեք օգտատերերին ըստ աշխատավարձի նվազման
և վերցրեք դասակարգման արդյունքից առաջին 3
օգտատերերին: