ORDER BY SQL untuk Mengurutkan Data dan Contohnya
Ketahui cara penerapan ORDER BY SQL untuk mengurutkan data seklaigus contohnya di sini!
Data Analytics
Farhan Fauzan Muharam
Mencari pelanggan tertua, mencari tanggal order pertama, mencari urutan ranking pelanggan paling setia, pasti seorang data analyst pernah melakukan pekerjaan-pekerjaan tersebut. Kalau zaman dulu dilakukan secara manual, sekarang bisa pakai SQL sebagai alat bantunya.
Tapi, bagaimana cara supaya hasilnya bisa diurutkan sesuai dengan contoh pekerjaan tadi. Caranya adalah menggunakan ORDER BY.
Apa Itu ORDER BY di SQL?
ORDER BY merupakan sebuah klausa yang digunakan untuk mengurutkan hasil query pada sebuah kolom berdasarkan dengan nilai terbesar atau terkecilnya. Untuk mengetahui diurutkan secara nilai terbesar atau terkecil, setelah klausa ORDER BY dapat ditambahkan ASCENDING ataupun DESCENDING.
ORDER BY juga dapat digunakan tidak hanya satu kolom tetapi bisa untuk beberapa kolom.
ASCENDING merupakan command untuk mengurutkan nilai dimulai dari yang terkecil, sedangkan DESCENDING akan mengurutkan nilai dimulai dari yang terbesar. Secara default, ORDER BY akan mengurutkan berdasarkan nilai yang terkecil atau disebut ASCENDING.
Sebagai contoh, seorang analis data dari sebuah perusahaan transportasi online ingin mengetahui siapa mitra tertua dan termuda di perusahaannya. Maka untuk mendapatkan usia tertua, ia akan mengurutkan tanggal lahir secara ASCENDING dan untuk yang termuda ia akan mengurutkan secara DESCENDING.
Cara Menggunakan ORDER BY di SQL
ORDER BY digunakan pada syntax SQL setelah memanggil nama tabel. Apabila terdapat filter, maka dituliskan setelah filter tersebut. Kemudian, setelah menuliskan ORDER BY pada syntax, tuliskan nama kolom yang ingin dijadikan acuan untuk pemanggilan urutannya dan diikuti perintah ASCENDING atau DESCENDING.
Apabila tidak menulis perintah urutan, secara default akan diurutkan secara ASCENDING. Untuk syntax-nya, dapat dilihat pada gambar di bawah ini.
Dalam penggunaan ORDER BY, kolom acuan yang digunakan sebagai urutan bisa lebih dari satu kolom.
#1 ORDER BY Ascending
Gambar di atas merupakan tabel yang secara default diurutkan berdasarkan CustomerID dan tidak ditambahkan klausa ORDER BY pada query-nya. Untuk contoh dan hasil query ORDER BY Ascending, kita akan mengurutkannya berdasarkan kolom Country dan bisa dilihat pada gambar di bawah ini.
Dapat dilihat pada gambar di atas, setelah diberikan klausa ORDER BY Country, maka hasilnya akan diurutkan berdasarkan kolom Country yang dimulai oleh negara dengan huruf awalan A dan urutan CustomerID sudah tidak berlaku. Selanjutnya, kita akan melihat hasil dari ORDER BY dengan menggunakan dua kolom.
Dari hasil query di atas, dapat dilihat setelah mengurutkan berdasarkan nama negara, diurutkan kembali berdasarkan ContactName. Perbedaan dari hasil sebelumnya adalah kolom CustomerName dan CustomerID tidak terurutkan karena yang dijadikan prioritas urutan adalah kolom Country dan ContactName.
{{COMPONENT_IDENTIFIER}}
#2 ORDER BY Descending
Kita akan menggunakan tabel yang sama seperti contoh ORDER BY Ascending. Pada ORDER BY Descending kita akan mengurutkan berdasarkan kolom CustomerID dan hasilnya adalah berikut.
Dapat dilihat pada gambar di atas, hasilnya sudah diurutkan berdasarkan CustomerID terbesar atau urutan terakhir dari daftar CustomerID. Selanjutnya kita akan mengurutkan berdasarkan Country dan CustomerID.
Dapat dilihat pada gambar, daftar Customer sudah diurutkan berdasarkan nama negara dengan huruf pertama merupakan V dan CustomerIDnya diurutkan dengan nomor terbesar dari masing-masing negara. Perlu diingat, saat menggunakan ORDER BY Descending lebih dari satu kolom, selalu tambahkan DESC/Descending pada masing-masing kolom yang ingin digunakan.
#3 ORDER BY Ascending dan Descending
Pada contoh bagian, ini kita akan mengurutkan kolom Country secara Descending dan kolom City secara Ascending. Untuk query dan hasilnya bisa dilihat pada gambar berikut ini.
Dapat dilihat, kolom Country sudah diurutkan secara Descending dan kolom City sudah diurutkan secara Ascending.
Penutup
ORDER BY merupakan klausa query untuk mengurutkan berdasarkan kolom-kolom tertentu. Bisa diurutkan berdasarkan value terbesar (Descending) atau value terkecil (Ascending). Jangan lupa memberikan keterangan ya, mau diurutkan berdasarkan apa supaya hasilnya sesuai!
order pertama, mencari urutan data analystTapi, bagaimana cara supaya hasilnya bisa diurutkan sesuai dengan contoh pekerjaan tadi. Caranya adalah menggunakan ORDER BY.