日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

avg最多用多少列 mysql_MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)

發(fā)布時間:2025/3/15 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 avg最多用多少列 mysql_MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.首先我們需要了解下什么是聚合函數(shù)

聚合函數(shù)aggregation function又稱為組函數(shù)。認情況下 聚合函數(shù)會對當前所在表當做一個組進行統(tǒng)計。

2.聚合函數(shù)的特點

1.每個組函數(shù)接收一個參數(shù)(字段名或者表達式)統(tǒng)計結果中默認忽略字段為NULL的記錄

2.要想列值為NULL的行也參與組函數(shù)的計算,必須使用IFNULL函數(shù)對NULL值做轉換。

3.不允許出現(xiàn)嵌套 比如sum(max(xx))

3.聚合函數(shù) count(),求數(shù)據(jù)表的行數(shù)

4.聚合函數(shù) max(),求某列的最大數(shù)值

5.聚合函數(shù)min(),求某列的最小值

6.聚合函數(shù)sum(),對數(shù)據(jù)表的某列進行求和操作

7.聚合函數(shù)avg(),對數(shù)據(jù)表的某列進行求平均值操作

8.聚合函數(shù)和分組一起使用

總結:

MySQL的聚合函數(shù)和我們?nèi)粘ffice表使用的一些對表的操作的方法大致相同,在工作中主要配合分組使用

=====================================================

一、聚合函數(shù)(aggregation function)---也就是組函數(shù)

在一個行的集合(一組行)上進行操作,對每個組給一個結果。

常用的組函數(shù):

①每個組函數(shù)接收一個參數(shù)

②默認情況下,組函數(shù)忽略列值為null的行,不參與計算

③有時,會使用關鍵字distinct剔除字段值重復的條數(shù)

注意:

1)當使用組函數(shù)的select語句中沒有group by子句時,中間結果集中的所有行自動形成一組,然后計算組函數(shù);

2)組函數(shù)不允許嵌套,例如:count(max(…));

3)組函數(shù)的參數(shù)可以是列或是函數(shù)表達式;

4)一個SELECT子句中可出現(xiàn)多個聚集函數(shù)。

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()函數(shù)

AVG()通過對表中行數(shù)計數(shù)并計算特定列值之和,從而求得該列的平均值。

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

此語句返回表test中所有age的平均值。

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

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

注:AVG只能確定特定數(shù)值列的平均值,而且列名必須作為函數(shù)參數(shù)給出。為了獲得多個列的平均值,必須使用多個avg函數(shù)。而且avg函數(shù)會忽略列值為NULL的行。

(二)COUNT()函數(shù)

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

COUNT()有兩種使用方式:

1.使用COUNT(*)對表中行的數(shù)目進行計數(shù),不管表列中包含的是空值(NULL)還是非空值。

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

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

此語句對表test所有行進行計數(shù),返回表的總行數(shù),不管行中各列有什么值。

例如 SELECT COUNT(school) FROM test;

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

(三)MAX()函數(shù)

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

例如SELECT MAX(age) FROM test;

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

注:MAX()函數(shù)忽略值為NULL的行。

(四)MIN()函數(shù)

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

例如 SELEC? MIN(age)? FROM test;

此語句返回最小的age值。

注:MIN()函數(shù)忽略列值為NULL的行。

(五)SUM()函數(shù)

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

SELECT? SUM(age)FROM test;

此語句返回age列所有值之和。

注:SUM函數(shù)忽略列值為NULL的行。SUM也可以用來合計計算值,SUM(price*count)。

(六)聚集不同值

對以上5個聚集函數(shù)都可以如下使用:

1.對所有行執(zhí)行計算,指定ALL參數(shù)或者不給參數(shù)(ALL參數(shù)是默認的)

2.只包含不同的值,指定DISTINCT參數(shù)

例如SELECT? AVG(DISTINCT age)?FROM test;

此語句返回age值不同的所有age值的平均值。

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

總結

以上是生活随笔為你收集整理的avg最多用多少列 mysql_MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。