Python-da SQL soragy arkaly ýazgylary tertiplemek
Netije hatarlaryny tertiplemek üçin,
ORDER BY buýrugyny ulanyň.
Mysal
Bizim users tablisamyzdan ähli
ulanyjylary saýlap alyň we olary ýaşy boýunça
kiçiden ulya çenli tertipläň:
query = "SELECT * FROM users ORDER BY age"
Ýerine ýetirilen kodyň netijesi:
{'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}
Mysal
DESC buýrugy arkaly tertipleme tertibini
üýtgedeliň:
query = "SELECT * FROM users ORDER BY age DESC"
Ýerine ýetirilen kodyň netijesi:
{'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}
Mysal
Maşy 500 bolan ähli ulanyjylary saýlap alyň
we olary ýaşy boýunça kiçiden ulya çenli tertipläň:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Ýerine ýetirilen kodyň netijesi:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Mysal
Bir meýdan boýunça däl-de, birnäçe meýdan boýunça tertipläp bolýar. Mysal üçin, ähli ulanyjylary saýlap alyň we olary ilki bilen ýaşa görä artýan tartypda, soňra bolsa birmeňzeş ýaşly ulanyjylary maşa görä artýan tartypda tertipläň:
query = "SELECT * FROM users ORDER BY age, salary"
Ýerine ýetirilen kodyň netijesi:
{'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}
Mysal
ORDER BY buýrugy LIMIT bilen
birikdirilip bilner. Bu ýagdaýda ilki bilen
tertipleme buýrugy, soňra bolsa limit ýazylmaly.
Aşakdaky mysalda ilki bilen ýazgylary ýaşa görä
artýan tartypda tertipläp, soňra ilkinji 3
sanysyny alyň:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Ýerine ýetirilen kodyň netijesi:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Amaly meseleler
Ähli ulanyjylary alyň we olary maşa görä artýan tartypda tertipläň.
Ähli ulanyjylary alyň we olary maşa görä azalýan tartypda tertipläň.
Ähli ulanyjylary alyň we olary ada görä tertipläň.
Maşy 500 bolan ulanyjylary alyň we
olary ýaşa görä tertipläň.
Ähli ulanyjylary alyň we olary ada we maşa görä tertipläň.
Ulanyjylary maşa görä artýan tartypda tertipläp,
tertipleme netijesinden ilkinji 3 işgäri
ałyň.
Ulanyjylary maşa görä azalýan tartypda tertipläp,
tertipleme netijesinden ilkinji 3 ulanyjyny
ałyň.