27 常用数学函数
主要介绍日常使用的数学函数,包括MAX()、MIN()、COUNT()、AVG()、SUM()等。
27.1 MAX()函数
MAX()函数返回所选列的最大值。
语法:
SELECT MAX(column_name) FROM table_name WHERE condition;
下面是选自“Products”表的数据,查找最贵的产品的价格:
SELECT MAX(价格) AS 最高价格 FROM Products;
27.2 MIN()函数
MIN()函数返回所选列的最小值。
语法:
SELECT MIN(column_name) FROM table_name WHERE condition;
查询最便宜的产品的价格:
SELECT MIN(价格) AS 最低价格 FROM Products;
27.3 COUNT()函数
COUNT()函数返回符合指定条件的行数。
COUNT(column_name)语法:
--COUNT(column_name)函数返回指定列的值得数目(NULL不计入) SELECT COUNT(column_name) FROM table_name WHERE condition;
查找产品数量:
SELECT COUNT(产品 ID) FROM Products;
结果为:
注意:返回的函数如果不命名,在显示的时候以(无列名)标注。
COUNT(*)语法:
--COUNT(*)函数返回表中的记录数 SELECT COUNT(*) FROM table_name WHERE condition;
计算Products表中的产品种类:
SELECT COUNT(*) FROM Products;
结果:
注意:结果与上面的COUNT(column_name)一致,但是效率上有区别,COUNT(column_name)在数据量大时效率会快些。
COUNT(DISTINCT column_name)语法:
--COUNT(DISTINCT column_name)函数返回指定列的不同值得数目 SELECT COUNT(DISTINCT column_name) FROM table_name;
注释:COUNT(DISTINCT)适用于ORACLE和Microsoft SQL Server,但是无法用于Microsoft Access。
计算Products表中不同供应商的数目:
SELECT COUNT(DISTINCT 供应商 ID) FROM Products;
27.4 AVG()函数
AVG()函数返回字列的平均值。
语法:
SELECT AVG(column_name) FROM table_name WHERE condition;
查询所有产品的平均价格:
SELECT AVG(价格) FROM Products;
选择价格高于平均价格的“名称”和“价格”记录:
SELECT 名称,价格 FROM Products WHERE 价格> (SELECT AVG(价格) FROM Products);
27.5 SUM()函数
SUM()函数返回自列的总和。
语法:
SELECT SUM(column_name) FROM table_name WHERE condition;
查询Products表的“价格”字段的总数:
SELECT SUM(价格) FROM Products;