SQL聚合函数
SQL聚合函数用于对表的单个列的多行执行计算,它只返回一个值。它还用于汇总数据。
SQL聚合函数的类型,如下图所示 -
接下来,我们一个个地讲解。
1.COUNT函数
COUNT
函数用于计算数据库表中的行数,它可以在数字和非数字数据类型上工作。COUNT
函数使用COUNT(*)
返回指定表中所有行的计数。COUNT(*)
包函重复值和NULL
值。
语法
COUNT(*) # 或者 COUNT( [ALL|DISTINCT] expression )
假设有一个PRODUCT_MAST
表,它的结构和数据如下所示 -
PRODUCT | COMPANY | QTY | RATE | COST |
---|---|---|---|---|
Item1 | Com1 | 2 | 10 | 20 |
Item2 | Com2 | 3 | 25 | 75 |
Item3 | Com1 | 2 | 30 | 60 |
Item4 | Com3 | 5 | 10 | 50 |
Item5 | Com2 | 2 | 20 | 40 |
Item6 | Cpm1 | 3 | 25 | 75 |
Item7 | Com1 | 5 | 30 | 150 |
Item8 | Com1 | 3 | 10 | 30 |
Item9 | Com2 | 2 | 25 | 50 |
Item10 | Com3 | 4 | 30 | 120 |
示例1
SELECT COUNT(*) FROM PRODUCT_MAST;
执行上面语句,得到以下结果 -
10
示例2
SELECT COUNT(*) FROM PRODUCT_MAST; WHERE RATE>=20;
执行上面语句,得到以下结果 -
7
示例3
SELECT COUNT(DISTINCT COMPANY) FROM PRODUCT_MAST;
执行上面语句,得到以下结果 -
3
示例4
SELECT COUNT(DISTINCT COMPANY) FROM PRODUCT_MAST;
执行上面语句,得到以下结果 -
3
示例5
SELECT COMPANY, COUNT(*) FROM PRODUCT_MAST GROUP BY COMPANY;
执行上面语句,得到以下结果 -
Com1 5 Com2 3 Com3 2
示例6
SELECT COMPANY, COUNT(*) FROM PRODUCT_MAST GROUP BY COMPANY HAVING COUNT(*)>2;
执行上面语句,得到以下结果 -
Com1 5 Com2 3
2. SUM函数
Sum
函数用于计算所有选定列的总和。它仅适用于数字类型的字段。
语法
SUM() # 或 SUM( [ALL|DISTINCT] expression )
示例1
SELECT SUM(COST) FROM PRODUCT_MAST;
执行上面查询语句,得到以下结果 -
670
示例2
SELECT SUM(COST) FROM PRODUCT_MAST WHERE QTY>3;
执行上面查询语句,得到以下结果 -
320
示例3
SELECT SUM(COST) FROM PRODUCT_MAST WHERE QTY>3 GROUP BY COMPANY;
执行上面查询语句,得到以下结果 -
Com1 150 Com2 170
示例4
SELECT COMPANY, SUM(COST) FROM PRODUCT_MAST GROUP BY COMPANY HAVING SUM(COST)>=170;
执行上面查询语句,得到以下结果 -
Com1 335 Com3 170
3. AVG函数
AVG函数用于计算数值类型的平均值。AVG
函数返回所有非Null
值的平均值。
语法
AVG() #或 AVG( [ALL|DISTINCT] expression )
示例1
SELECT AVG(COST) FROM PRODUCT_MAST;
执行上面查询语句,得到以下结果 -
67.00
4. MAX函数
MAX函数用于查找某列的最大值,此函数确定列的所有选定值的最大值。
语法
MAX() # 或 MAX( [ALL|DISTINCT] expression )
示例1
SELECT MAX(RATE) FROM PRODUCT_MAST;
执行上面查询语句,得到以下结果 -
30
5. MIN函数
MIN函数用于查找某列的最小值,此函数确定列的所有选定值的最小值。
语法
MIN() # 或 MIN( [ALL|DISTINCT] expression )
示例1
SELECT MIN(RATE) FROM PRODUCT_MAST;
执行上面查询语句,得到以下结果 -
10
扫描二维码
程序员编程王