Pengurutan Catatan melalui Kueri SQL di Python
Untuk mengurutkan baris hasil,
perlu menggunakan perintah ORDER
BY.
Contoh
Mari kita pilih semua pengguna dari tabel users kita
dan urutkan mereka berdasarkan usia dari
yang terkecil hingga terbesar:
query = "SELECT * FROM users ORDER BY age"
Hasil kode yang dijalankan:
{'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 ubah urutan pengurutan dengan menggunakan
perintah DESC:
query = "SELECT * FROM users ORDER BY age DESC"
Hasil kode yang dijalankan:
{'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 urutkan mereka berdasarkan usia dari yang terkecil
hingga terbesar:
query = "SELECT * FROM users WHERE salary=500 ORDER BY age"
Hasil kode yang dijalankan:
{'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
Kita dapat mengurutkan tidak hanya berdasarkan satu bidang, tetapi berdasarkan beberapa. Sebagai contoh, mari pilih semua pengguna dan urutkan mereka pertama berdasarkan usia secara ascending (naik), dan pengguna dengan usia yang sama diurutkan berdasarkan kenaikan gaji:
query = "SELECT * FROM users ORDER BY age, salary"
Hasil kode yang dijalankan:
{'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 dapat dikombinasikan
dengan LIMIT . Dalam hal ini, kita perlu
menulis perintah pengurutan terlebih dahulu, lalu - limit.
Dalam contoh berikut, pertama kita akan mengurutkan
catatan berdasarkan usia secara ascending, lalu
mengambil 3 buah pertama:
query = "SELECT * FROM users ORDER BY age LIMIT 3"
Hasil kode yang dijalankan:
{'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 Praktis
Ambil semua pengguna dan urutkan mereka berdasarkan gaji secara ascending.
Ambil semua pengguna dan urutkan mereka berdasarkan gaji secara descending.
Ambil semua pengguna dan urutkan mereka berdasarkan nama.
Ambil pengguna dengan gaji 500 dan
urutkan mereka berdasarkan usia.
Ambil semua pengguna dan urutkan mereka berdasarkan nama dan berdasarkan gaji.
Urutkan pengguna berdasarkan kenaikan gaji
dan dapatkan 3 karyawan pertama dari
hasil pengurutan.
Urutkan pengguna berdasarkan penurunan gaji
dan dapatkan 3 pengguna pertama dari
hasil pengurutan.