Python'дагы SQL сурам менен жазууларды иреттөө

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