Penyusunan Rekod melalui Pertanyaan SQL dalam Python
Untuk menyusun baris hasil,
perlu menggunakan perintah ORDER
BY.
Contoh
Mari pilih semua pengguna dari jadual users kami
dan susun mereka mengikut umur dari
lebih kecil ke lebih besar:
query = "SELECT * FROM users ORDER BY age"
Hasil kod yang dilaksanakan:
{'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}
Contoh
Mari tukar tertib susunan dengan menggunakan
perintah DESC:
query = "SELECT * FROM users ORDER BY age DESC"
Hasil kod yang dilaksanakan:
{'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}
Contoh
Mari pilih semua pengguna dengan gaji 500
dan susun mereka mengikut umur dari lebih kecil
ke lebih besar:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Hasil kod yang dilaksanakan:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Contoh
Boleh menyusun bukan pada satu medan, tetapi pada beberapa. Mari sebagai contoh pilih semua pengguna dan susun mereka pertama sekali mengikut penambahan umur, dan pengguna dengan umur yang sama disusun mengikut penambahan gaji:
query = "SELECT * FROM users ORDER BY age, salary"
Hasil kod yang dilaksanakan:
{'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}
Contoh
Perintah ORDER BY boleh digabungkan
dengan LIMIT . Dalam kes ini, perlu
menulis perintah susunan dahulu, dan kemudian - had.
Dalam contoh berikut, pertama susun
rekod mengikut penambahan umur, kemudian
ambil 3 yang pertama:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Hasil kod yang dilaksanakan:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Tugas Praktikal
Dapatkan semua pengguna dan susun mereka mengikut penambahan gaji.
Dapatkan semua pengguna dan susun mereka mengikut penurunan gaji.
Dapatkan semua pengguna dan susun mereka mengikut nama.
Dapatkan pengguna dengan gaji 500 dan
susun mereka mengikut umur.
Dapatkan semua pengguna dan susun mereka mengikut nama dan gaji.
Susun pengguna mengikut penambahan gaji
dan dapatkan 3 pekerja pertama dari
hasil susunan.
Susun pengguna mengikut penurunan gaji
dan dapatkan 3 pengguna pertama dari
hasil susunan.