Setelah kegiatan pembelajaran ini, diharapkan:
- Siswa mampu memahami perintah grouping dalam basis data
- Siswa mampu menuliskan perintah fungsi agregasi dengan pengelompokan data dengan benar
- Siswa mampu menerapkan fungsi agregasi dengan pengelompokan data dalam basis data
Untuk mengurutkan hasil dari kueri, maka kita dapat menggunakan klausa ORDER BY jika GROUP BY tidak menghasilkan urutan yang diinginkan. GROUP BY tidak hanya mengelompokkan, tetapi juga mengurutkan. Jadi, seringkali tidak diperlukan klausa ORDER BY pada kueri. Tetapi, jika ingin mengurutkan selain dari yang dihasilkan GROUP BY secara default, maka kita bisa menggunakan klausa ORDER BY. Pengurutan dapat dilakukan secara ascending (urutan naik) maupun descending (urutan menurun). Untuk menghasilkan urutan yang menaik (ascending) maupun menurun (descdending), maka ditambahkan option ASC untuk ascending atau DESC untuk descending pada field yang dijadikan sebagai kunci pengurutan. Option ASC sifatnya optional artinya apabila kita ingin mengurutkan berdasarkan urutan ascending, maka option ASC dapat tidak dituliskan.
Kueri dasar yang bisa digunakan adalah sebagai berikut:
SELECT nama_kolom FROM nama_tabel ORDER BY nama_kolom;
Perhatikan contoh penerapan perintah ORDER BY di bawah ini!
Tabel yang kita gunakan adalah data_guru yang dapat dilihat seperti di bawah ini.
id_guru | nip | nama | jns_kel | gaji | pendidikan_terakhir |
---|---|---|---|---|---|
G01 | 13254 | Indah Wijaya | P | 4000000 | S1 |
G02 | 14325 | Siska Nur Azizah | P | 4500000 | S1 |
G03 | 12543 | Fauzi Rahmadi | L | 5000000 | S2 |
G04 | 15234 | Luna Ardhita Puspita | P | 3000000 | D3 |
G05 | 13542 | Hafizh | L | 4200000 | S1 |
G06 | 15432 | Dita Anggraini | P | 4800000 | S2 |
G07 | 12235 | Farhan Alfi | L | 3500000 | D3 |
Misalkan kita ingin menampilkan total gaji guru yang dikelompokkan berdasarkan pendidikan terakhirnya dimana urutannya dari nominal yang lebih besar. Kita dapat menggunakan kueri sebagai berikut.
Hasilnya adalah:
Cobalah kueri di atas pada kotak inputan coba kueri di bawah ini.
Dalam contoh ini, klausa GROUP BY digunakan untuk mengelompokkan data berdasarkan pendidikan terakhir sehingga fungsi SUM(gaji) dapat mengembalikan total gaji untuk setiap kelompok. Selanjutnya output diurutkan menggunakan klausa ORDER BY.
Contoh selanjutnya, kita ingin menampilkan banyaknya guru berdasarkan pendidikan terakhirnya dengan urutan dari yang lebih sedikit. Kita dapat menggunakan kueri sebagai berikut.
Hasilnya adalah:
Cobalah kueri di atas pada kotak inputan coba kueri di bawah ini.
Untuk melihat kemampuan menuliskan perintah ORDER BY dan menerapkannya dalam basis data, silahkan kerjakan latihan di bawah ini.
Lengkapilah kueri di bawah ini dengan mengetikkan jawaban pada kotak inputan yang disediakan. Border kotak inputan berwarna hijau jika jawaban Anda benar dan berwarna merah jika jawaban Anda salah.
Perintah: Menampilkan banyaknya jabatan dengan nama kolom alias banyak_jabatan dari tabel dengan nama jabatan, kelompokkan berdasarkan divisi dan urutkan dari banyak_jabatan yang paling besar nilainya.
SELECT divisi, AS banyak_jabatan FROM jabatan
DESC;
SELECT divisi, COUNT(*) AS banyak_jabatan FROM jabatan
GROUP BY divisi
ORDER BY banyak_jabatan DESC;
Tabel telah tersedia dengan nama
Tampilkanlah total gaji pokok karyawan dengan nama kolom alias total_gapok yang dikelompokkan berdasarkan divisi, data diurutkan dari total gaji pokok yang paling besar
Hasilnya adalah:
Tabel telah tersedia dengan nama
Tampilkanlah total anggaran proyek dengan nama kolom alias total_anggaran yang dikelompokkan berdasarkan status, data diurutkan dari total anggaran yang paling besar
Hasilnya adalah:
Kamu menjawab dari 3 soal dengan benar!