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 пайдаланушыны алыңыз.