sql 中的 avg 函數(shù)用于計(jì)算數(shù)字值的平均值。它的語(yǔ)法是 avg(column_name)。avg 函數(shù)會(huì)忽略 null 值。可以使用 as 關(guān)鍵字為結(jié)果指定別名。它只適用于數(shù)字類型的數(shù)據(jù),如果目標(biāo)列沒(méi)有值或僅包含 null 值,則返回 null,如果包含非數(shù)字值則拋出錯(cuò)誤。
AVG 函數(shù)在 SQL 中的用法
SQL 中的 AVG 函數(shù)用于計(jì)算一組數(shù)字值的平均值。
語(yǔ)法:
<code>AVG(column_name)</code>
登錄后復(fù)制
其中:
column_name
是要計(jì)算平均值的目標(biāo)列。
用法:
<code>-- 示例表包含 'sales' 列,存儲(chǔ)銷售數(shù)據(jù) CREATE TABLE sales ( product_id INT, sales INT ); -- 計(jì)算 'sales' 列的平均值 SELECT AVG(sales) FROM sales;</code>
登錄后復(fù)制
返回結(jié)果:
<code>NULL</code>
登錄后復(fù)制
因?yàn)楸碇羞€沒(méi)有數(shù)據(jù),因此結(jié)果為 NULL。
處理 NULL 值:
AVG 函數(shù)會(huì)忽略 NULL 值。例如:
<code>-- 在 'sales' 列中插入一些數(shù)據(jù),包括 NULL 值 INSERT INTO sales (product_id, sales) VALUES (1, 10), (2, 20), (3, NULL); -- 計(jì)算 'sales' 列的平均值 SELECT AVG(sales) FROM sales;</code>
登錄后復(fù)制
返回結(jié)果:
<code>15.0</code>
登錄后復(fù)制
AVG 函數(shù)忽略了 NULL 值,因此平均值為 (10 + 20) / 2 = 15。
使用別名:
可以使用 AS
關(guān)鍵字為 AVG 函數(shù)的結(jié)果指定別名。例如:
<code>-- 計(jì)算 'sales' 列的平均值并將其別名為 'average_sales' SELECT AVG(sales) AS average_sales FROM sales;</code>
登錄后復(fù)制
返回結(jié)果:
<code>| average_sales | |---|---| | 15.0 |</code>
登錄后復(fù)制
注意事項(xiàng):
AVG 函數(shù)只適用于數(shù)字類型的數(shù)據(jù)。
如果目標(biāo)列中沒(méi)有值或僅包含 NULL 值,則 AVG 函數(shù)會(huì)返回 NULL。
如果目標(biāo)列包含非數(shù)字值,則 AVG 函數(shù)會(huì)拋出錯(cuò)誤。