1. 程式人生 > >MySQL中聚合函式count的注意事項

MySQL中聚合函式count的注意事項

MySQL中有很多函式,包括字串函式、數值執行函式、日期時間函式、聚合函式、加密函式等,這些函式可對SQL語句中的欄位進行處理,但在這裡主要講一下聚合函式count的使用場景。
我們知道,這個函式是用來計數的,通常的用法是直接對記錄進行統計:
例如我們要查詢下面這張表(表的資料是亂寫的)
這裡寫圖片描述
當我們執行SELECT COUNT(brand) FROM goodtable;這個SQL語句時,我們知道,這個會得到當前表格的總記錄數。
這裡寫圖片描述
,這個是比較常用的用法,但是有一種情況,就是當這個函數出現在分組的SQL語句中時,它就不是統計表格的總記錄數了,而是統計某個欄位中的某個名稱重複出現的次數。
例如當執行SELECT * FROM goodtable GROUP BY brand HAVING COUNT(brand)>=2

該語句時,我們會得到下面的結果:
這裡寫圖片描述
在這裡,我們對查詢的結果集進行條件分組,這個分組的條件就是,合併那些對brand欄位據有相同名稱的記錄數>=2時。因為在該表中,有3條記錄其brand欄位名稱是nike,有2條記錄其brand欄位名稱是tongle,所以在這裡,就合併了這些記錄。在這裡,我們可以看到了聚合函式count的另一個特點,它現在統計的不是整個表格的總數,而是統計表格中某些“重複“的記錄。