Masalah:
Anda ingin menjumlahkan nilai kolom.
Contoh:
Basis data kami memiliki tabel bernama game
dengan data pada kolom berikut:id
, player
, dan score
.
id | pemain | skor |
---|---|---|
1 | John | 134 |
2 | Tom | 146 |
3 | Lucy | 20 |
4 | Tom | 118 |
5 | Tom | 102 |
6 | Lucy | 90 |
7 | Lucy | 34 |
8 | John | 122 |
Mari kita cari total skor yang diperoleh semua pemain.
Solusi:
SELECT SUM(score) as sum_score FROM game;
Ini hasilnya:
sum_score |
---|
766 |
Diskusi:
Fungsi agregat SUM
sangat ideal untuk menghitung jumlah nilai kolom. Fungsi ini digunakan dalam SELECT
pernyataan dan mengambil nama kolom yang nilainya ingin Anda jumlahkan.
Jika Anda tidak menentukan kolom lain di SELECT
pernyataan, maka jumlah akan dihitung untuk semua record dalam tabel. Dalam contoh kami, kami hanya memilih jumlah dan tidak ada kolom lain. Oleh karena itu, kueri dalam contoh kami mengembalikan jumlah semua skor (766).
Tentu saja, kita juga dapat menghitung skor total yang diperoleh setiap pemain dengan menggunakan klausa GROUP BY dan memilih nama setiap pemain dari tabel, di samping jumlahnya:
Solusi:
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Kueri ini mengembalikan skor total untuk setiap pemain:
pemain | skor |
---|---|
John | 256 |
Tom | 366 |
Lucy | 144 |