聚合函數(shù)

count

count用于返回內(nèi)容(行)的個數(shù)

  • COUNT(*) 能對整張表的內(nèi)容(行)進行計數(shù),不管內(nèi)容(行)是有值還是空值


  • COUNT(1) 能對整張表的內(nèi)容(行)進行計數(shù),不管內(nèi)容(行)是有值還是空值
  • COUNT(字段) 能對某一字段的內(nèi)容(行)進行計數(shù),但是會忽略 NULL 值。
表table
select count(*) from table
count(*)
select count(1) from table
count(1)
select count(ID) from table
count(ID)

區(qū)別

  • 如果列為主鍵,count(列名)效率優(yōu)于count(1)
  • 如果列不為主鍵,count(1)效率優(yōu)于count(列名)
  • 如果表中存在主鍵,count(主鍵列名)效率最優(yōu)
  • 如果表中只有一列,則count(*)效率最優(yōu)
  • 如果表有多列,且不存在主鍵,則count(1)效率優(yōu)于count(*)

count(1),其實就是計算一共有多少符合條件的行,1并不是表示第一個字段,而是表示一個固定值,這個字段就是固定值1,count(1),就是計算一共有多少個1。
count(*),執(zhí)行時會把星號翻譯成字段的具體名字,效果也是一樣的,不過多了一個翻譯的動作,比固定值的方式效率稍微低一些。

AVG

AVG() 函數(shù)通過計算某字段(列)內(nèi)容(行)的個數(shù)和它們的數(shù)值之和來返回某一字段的平均值。

MAX

MAX() 函數(shù)能夠返回某一字段(列)的最大值。值得注意的是,要想使用 MAX() 函數(shù),就一定需要有特定的字段(列)與之配對,不能偷懶用通配符 * 作參數(shù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容