Fungsi Agregasi
Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 68 dari 72.
Fungsi agregasi digunakan untuk menghitung AVG() atau MAX() atau fungsi agregasi lainnya hingga baris saat ini.
Sebagai contoh, kita dapat menghitung pendapatan maksimum yang kita peroleh hingga setiap periode akhir:
| bulan | pendapatan | wilayah |
| 4 | 40 | East |
| 5 | 20 | East |
| 6 | 60 | West |
| 7 | 55 | West |
| 8 | 61 | East |
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1Ini akan mengembalikan:
| bulan | pendapatan | max_revenue |
| 4 | 40 | 40 |
| 5 | 20 | 40 |
| 6 | 60 | 60 |
| 7 | 55 | 60 |
| 8 | 61 | 61 |
Untuk bulan 4 dan 5, pendapatan maksimum adalah 40. Untuk bulan 6 dan 7, nilainya 60, dan untuk bulan 8 nilainya 61. Ini karena saat menemukan pendapatan baru yang lebih besar, program menghapus nilai lama dan menggunakan nilai terbesar sejauh ini.
Untuk fungsi AVG(), bentuknya akan seperti ini:
SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1| bulan | pendapatan | avg_revenue |
| 4 | 40 | 40 |
| 5 | 20 | 30 |
| 6 | 60 | 40 |
| 7 | 55 | 43.75 |
| 8 | 61 | 47.2 |
Kita juga bisa mengelompokkan perhitungan berdasarkan kategori tertentu menggunakan PARTITION BY. Contohnya:
SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1Akan menghasilkan:
| bulan | pendapatan | wilayah | max_revenue |
| 4 | 40 | East | 40 |
| 5 | 20 | East | 40 |
| 6 | 60 | West | 60 |
| 7 | 55 | West | 60 |
| 8 | 61 | East | 61 |
Sekarang nilai maksimum dihitung secara terpisah untuk setiap wilayah. Wilayah East dan West masing-masing mempertahankan nilai maksimum berjalan secara independen.
Tantangan
MudahTabel dan kolom yang tersedia:
books:book,page,words
Untuk setiap buku, tampilkan nama buku, jumlah halamannya, jumlah kata pada setiap halaman, dan hitung:
- Jumlah kata maksimum yang ditemukan pada halaman mana pun dalam buku tersebut
- Rata-rata jumlah kata per halaman untuk seluruh buku
- Selisih antara jumlah kata pada halaman saat ini dan rata-rata jumlah kata per halaman buku tersebut
Tampilkan hasil yang diurutkan berdasarkan buku dan nomor halaman.
Kembalikan kolom berikut:
bookpagewordsmax_words_in_bookavg_words_per_pagediff_from_avg
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Kata Kunci Lainnya
Kata kunci INKata kunci BETWEENKata kunci LIKEKata kunci ASRangkuman: Model Ponsel2Kondisi
Dasar KondisiKata Kunci ANDKata Kunci ORKata Kunci NOTMenggabungkan Beberapa KondisiTanda KurungNilai Boolean3Format Pengembalian Khusus
Nilai nullUrutkan Hasil Bagian 1Urutkan Hasil Bagian 2Ulasan: Perusahaan Keamanan SiberBatasi Jumlah RecordUlasan: Pabrik Kendaraan6Tantangan Pengantar
Ulasan: Pemilihan ParlemenUlasan: Polisi Menangkap Pelaku KejahatanUlasan: Wadah Minuman BarUlasan: Insinyur Membuat Kolom Baru9Beberapa Tabel
Join Dasar Bagian 1Join Dasar Bagian 2Ringkasan: JoinSelf joinRingkasan: Self joinUnionSederhanakan query dengan kata kunci WITHRingkasan: Query WITHRingkasan: Kontraktor Properti12Fungsi Window bagian 2
Fungsi RANK & DENSE_RANKRingkasan, RANK & DENSE_RANKFungsi NTILEFungsi AgregasiKriteria ROWS & RANGELatihan sendiri: Playground SQL