MySQL之彙總數據(AVG,COUNT,MAX,MIN,SUM)

  table test函數

Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
name char(50) NO   NULL  
age int(11) NO   NULL  
school char(50) YES   NULL

 

(一)AVG()函數

AVG()經過對錶中行數計數並計算特定列值之和,從而求得該列的平均值。spa

例如:SELECT  AVG(age)  AS  avg_age  FROM test;ci

此語句返回表test中全部age的平均值。rem

例如:SELECT AVG(age) AS  avg_age FROM  test WHERE name="john";table

此語句返回表test中name=john的age的平均值。test

注:AVG只能肯定特定數值列的平均值,並且列名必須做爲函數參數給出。爲了得到多個列的平均值,必須使用多個avg函數。並且avg函數會忽略列值爲NULL的行。tab

 

(二)COUNT()函數

COUNT()函數進行計數。可利用COUNT()函數肯定表中行的數目或者符合特定條件的行的數目。di

COUNT()有兩種使用方式:co

1.使用COUNT(*)對錶中行的數目進行計數,無論表列中包含的是空值(NULL)仍是非空值。background

2.使用COUNT(column)對特定列中具備值的行進行計數,忽略NULL值。

例如 SELECT COUNT(*)  AS num_test  FROM test;

此語句對錶test全部行進行計數,返回表的總行數,無論行中各列有什麼值。

 

例如 SELECT COUNT(school) FROM test;

此語句只對school列中有值的行進行計數,忽略null行。

 

(三)MAX()函數

MAX()函數返回指定列中的最大值。MAX()要求指定列名。

例如SELECT MAX(age) FROM test;

此語句返回表test中age的最大值。

注:MAX()函數忽略值爲NULL的行。

 

(四)MIN()函數

MIN()函數返回指定列的最小值,MIN()要求指定列名。

例如 SELEC  MIN(age)  FROM test;

此語句返回最小的age值。

注:MIN()函數忽略列值爲NULL的行。

 

(五)SUM()函數

SUM()函數來返回指定列值的和(總計)。

SELECT  SUM(age)FROM test;

此語句返回age列全部值之和。

注:SUM函數忽略列值爲NULL的行。SUM也能夠用來合計計算值,SUM(price*count)。

 

(六)彙集不一樣值

對以上5個彙集函數均可以以下使用:

1.對全部行執行計算,指定ALL參數或者不給參數(ALL參數是默認的)

2.只包含不一樣的值,指定DISTINCT參數

例如SELECT  AVG(DISTINCT age) FROM test;

此語句返回age值不一樣的全部age值的平均值。

注:DISTINCT只能用在列名前面,不能用在表達式前。

相關文章
相關標籤/搜索