Menu
CoddyTech

Fungsi Agregat Bawaan Bagian 2

Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 35 dari 72.

Terkadang kita perlu menggunakan fungsi agregat dengan cara yang lebih kompleks, seperti membandingkan setiap baris dengan nilai agregat. Di sinilah kueri bersarang berguna.

Saat kamu ingin melakukan perhitungan yang menggabungkan baris satu per satu dengan nilai agregat, kamu perlu menggunakan kueri bersarang. Inilah alasannya:
Ini tidak akan memberikan hasil untuk setiap baris yang kamu inginkan:

SELECT value + MIN(value)
FROM table1

Penyebabnya adalah fungsi agregat bekerja pada seluruh kolom, sedangkan referensi 'value' mencoba bekerja baris demi baris. Untuk mengatasinya, kita menggunakan kueri bersarang:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

Ini berfungsi karena kueri bersarang (SELECT MIN(value) FROM table1) dijalankan terlebih dahulu dan menghasilkan satu nilai, yang kemudian dapat digunakan dalam kueri utama untuk setiap baris.

Kasus penggunaan umum untuk agregat bersarang:
1. Membandingkan setiap nilai dengan rata-rata

2. Menghitung persentase dari total

3. Menemukan selisih dari nilai maksimum atau minimum

challenge icon

Tantangan

Mudah

Tabel dan kolom yang tersedia:

  • items: id, price

Hitung selisih harga setiap item dengan harga rata-rata semua item, yaitu seberapa besar harga setiap item lebih tinggi daripada harga rata-rata tersebut. Tampilkan ID item, harganya, dan selisihnya dari rata-rata. Beri nama kolom selisih diff_from_avg.

Urutkan hasil berdasarkan selisih secara menurun.

Coba sendiri

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground SQL