Python'дагы SQL сурам менен жазууларды иреттөө
Натыйжа саптарын иреттөө үчүн,
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 колдонуучуну алыңыз.