Begitulah cara GROUP BY bekerja. Dibutuhkan beberapa baris dan mengubahnya menjadi satu baris. Karena itu, ia harus mengetahui apa yang harus dilakukan dengan semua baris gabungan di mana ada nilai yang berbeda untuk beberapa kolom (bidang). Inilah sebabnya mengapa Anda memiliki dua opsi untuk setiap bidang yang ingin Anda PILIH :Sertakan dalam klausa GROUP BY, atau gunakan dalam fungsi agregat sehingga sistem tahu bagaimana Anda ingin menggabungkan bidang.
Misalnya, Anda memiliki tabel ini:
Name | OrderNumber
------------------
John | 1
John | 2
Jika Anda mengatakan GROUP BY Name, bagaimana cara mengetahui OrderNumber mana yang akan ditampilkan dalam hasil? Jadi, Anda juga memasukkan OrderNumber dalam grup oleh, yang akan menghasilkan dua baris ini. Atau, Anda menggunakan fungsi agregat untuk menunjukkan cara menangani OrderNumbers. Misalnya, MAX(OrderNumber)
, yang berarti hasilnya adalah John | 2
atau SUM(OrderNumber)
yang berarti hasilnya adalah John | 3
.