Saya mengerti maksudnya GROUP BY x
Tetapi bagaimana cara
GROUP BY x, y
kerjanya, dan apa artinya?
sql
group-by
multiple-columns
l - '' '' '' '
sumber
sumber
Jawaban:
Group By X
berarti menempatkan semua yang memiliki nilai X yang sama dalam satu kelompok .Group By X, Y
berarti menempatkan semua yang memiliki nilai yang sama untuk X dan Y dalam satu grup .Untuk mengilustrasikan menggunakan contoh, katakanlah kita memiliki tabel berikut, berkaitan dengan siapa yang menghadiri mata pelajaran apa di universitas:
Saat Anda menggunakan hanya
group by
pada kolom subjek; mengatakan:Anda akan mendapatkan sesuatu seperti:
... karena ada 5 entri untuk ITB001, dan 2 untuk MKB114
Jika kita ke
group by
dua kolom:kami akan mendapatkan ini:
Ini karena, ketika kita mengelompokkan dua kolom, dikatakan "Kelompokkan mereka sehingga semua yang memiliki Subjek dan Semester yang sama berada di grup yang sama, dan kemudian hitung semua fungsi agregat (Hitung, Jumlah, Rata-Rata, dll.) ) untuk masing - masing grup tersebut " . Dalam contoh ini, ini ditunjukkan oleh fakta bahwa, ketika kami menghitungnya, ada tiga orang yang melakukan ITB001 di semester 1, dan dua melakukannya di semester 2. Kedua orang yang melakukan MKB114 berada di semester 1, jadi tidak ada baris untuk semester 2 (tidak ada data yang cocok dengan grup "MKB114, Semester 2")
Semoga itu masuk akal.
sumber
GROUP BY A,B
sama denganGROUP BY B,A
?GROUP BY a, b
danGROUP BY a AND b
karena yang kedua hanya daftar item yang dikelompokkan dengan konten yang persis sama dan tidak ada "grup bawah". Dalam hal ini hasilnya akan sama seperti yang pertama.The
GROUP BY
klausa digunakan dalam hubungannya dengan fungsi agregat untuk kelompok hasil-set oleh satu atau lebih kolom. misalnya:Ingat pesanan ini:
Anda dapat menggunakan semua ini jika Anda menggunakan fungsi agregat, dan ini adalah urutan yang harus ditetapkan, jika tidak, Anda bisa mendapatkan kesalahan.
Fungsi Agregat adalah:
sumber