mysql 使用 group by 子句分組統(tǒng)計(jì)數(shù)據(jù),其語法為:select kolom_yang_ingin_dikelompokkan, fungsi_agregasi(kolom_yang_ingin_distatistik) from tabel group by kolom_yang_ingin_dikelompokkan。聚合函數(shù)包括 sum()、count()、avg()、min() 和 max()。
MySQL 分組統(tǒng)計(jì)數(shù)據(jù)
如何分組統(tǒng)計(jì)數(shù)據(jù)?
MySQL 中,可以使用 GROUP BY 子句對(duì)查詢結(jié)果進(jìn)行分組統(tǒng)計(jì)。其語法如下:
SELECT kolom_yang_ingin_dikelompokkan, fungsi_agregasi(kolom_yang_ingin_distatistik) FROM tabel GROUP BY kolom_yang_ingin_dikelompokkan
登錄后復(fù)制
示例
假設(shè)有一張 penjualan 表包含以下列:
id_produk
nama_produk
harga
jumlah
要統(tǒng)計(jì)每種產(chǎn)品的銷售總額,可以執(zhí)行以下查詢:
SELECT nama_produk, SUM(harga * jumlah) AS total_penjualan FROM penjualan GROUP BY nama_produk
登錄后復(fù)制
查詢結(jié)果將顯示每種產(chǎn)品的名稱及其銷售總額。
詳細(xì)說明
GROUP BY 子句指定按哪個(gè)列分組。在本例中,按 nama_produk 分組。
SUM() 函數(shù)對(duì)指定列(在本例中為 harga * jumlah)進(jìn)行求和。
結(jié)果集中,每個(gè)組(即每種產(chǎn)品)都顯示分組列(在本例中為 nama_produk)的值,以及統(tǒng)計(jì)列(在本例中為 total_penjualan)的聚合結(jié)果。
其他聚合函數(shù)
除了 SUM(), MySQL 還提供其他聚合函數(shù),包括:
COUNT():計(jì)數(shù)組中的行數(shù)
AVG():計(jì)算組中某列的平均值
MIN():返回組中某列的最小值
MAX():返回組中某列的最大值