Anda dapat menggunakan query SQL dasar untuk mengambil data dari database tetapi ini sering tidak memberikan intelijen yang cukup untuk memenuhi persyaratan bisnis. SQL juga memberi Anda kemampuan untuk mengelompokkan hasil query berdasarkan atribut tingkat baris untuk menerapkan fungsi agregat menggunakan klausa GROUP BY. Pertimbangkan, misalnya, tabel data pesanan yang terdiri dari atribut di bawah ini:
- OrderID - nilai numerik yang mengidentifikasi setiap pesanan secara unik. Bidang ini adalah kunci utama untuk database.
- Tenaga penjual - nilai teks yang memberikan nama penjual yang menjual produk. Bidang ini adalah kunci asing ke tabel lain yang berisi informasi kepegawaian.
- CustomerID - nilai numerik yang sesuai dengan nomor akun pelanggan. Bidang ini juga merupakan kunci asing, merujuk pada tabel yang berisi informasi akun pelanggan.
- Pendapatan - nilai numerik yang sesuai dengan jumlah dolar dari penjualan.
Ketika tiba saatnya untuk melakukan tinjauan kinerja untuk penjual, tabel Pesanan berisi informasi berharga yang dapat digunakan untuk peninjauan tersebut. Saat mengevaluasi Jim, Anda dapat, misalnya, menulis kueri sederhana yang mengambil semua catatan penjualan Jim:
SELECT * FROM Orders WHERE Salesperson LIKE 'Jim'Ini akan mengambil semua catatan dari database yang terkait dengan penjualan yang dibuat oleh Jim:
OrderID Salesperson PelangganID Pendapatan 12482 Jim 182 40000 12488 Jim 219 25000 12519 Jim 137 85000 12602 Jim 182 10.000 12741 Jim 155 90000 Anda dapat meninjau informasi ini dan melakukan beberapa perhitungan manual untuk menghasilkan statistik kinerja, tetapi ini akan menjadi tugas yang membosankan yang harus Anda ulangi untuk setiap penjual di perusahaan. Sebaliknya, Anda dapat mengganti pekerjaan ini dengan query GROUP BY tunggal yang menghitung statistik untuk setiap penjual di perusahaan. Anda cukup menulis kueri dan menentukan bahwa basis data harus mengelompokkan hasil berdasarkan bidang Tenaga Penjual. Anda kemudian dapat menggunakan salah satu fungsi agregat SQL untuk melakukan perhitungan pada hasil.
Inilah contohnya. Jika Anda menjalankan pernyataan SQL berikut:
Anda akan mendapatkan hasil sebagai berikut:
Tenaga penjual Total Jumlah Rata-rata Terbesar Terkecil Jim 250000 10000 90000 50000 5 Mary 342000 24000 102000 57000 6 Bob 118000 4000 36000 39333 3Seperti yang Anda lihat, fungsi yang kuat ini memungkinkan Anda menghasilkan laporan kecil dari dalam kueri SQL, memberikan intelijen bisnis yang berharga kepada pengelola yang melakukan tinjauan kinerja. Klausa GROUP BY sering digunakan dalam database untuk tujuan ini dan merupakan alat yang berharga dalam kantong trik DBA.