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 individual dengan nilai agregat, kamu perlu menggunakan query bersarang. Berikut alasannya:
Ini tidak akan memberikan hasil per baris yang kamu inginkan:

SELECT value + MIN(value)
FROM table1

Alasannya adalah fungsi agregat bekerja pada seluruh kolom, sedangkan referensi 'value' mencoba bekerja baris demi baris. Untuk mengatasi hal ini, kita menggunakan kueri bertingkat:

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

Ini berfungsi karena query bertingkat (SELECT MIN(value) FROM table1) dijalankan terlebih dahulu dan mengembalikan satu nilai, yang kemudian dapat digunakan dalam query 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 seberapa besar harga setiap item melebihi harga rata-rata semua item. 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