DSum() 和 DAvg() 函数 MS Access
1.DSum()函数:
在 MS Access 中,DSum()函数用于计算指定记录集(域)中的一组值的总和。 DSum 函数从满足条件的字段返回一组值的总和。 DSum 和 Sum 之间的区别在于,在 DSum函数中,在对数据进行分组之前计算值,而在 Sum函数的情况下,在计算字段表达式中的值之前对数据进行分组。
句法 :
DSum (expr, domain [, criteria])
参数:此方法接受三个参数,如上所述,如下所述:
- expr :它标识要合计其值的数字字段。它可以是标识表或查询中的字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。在 expr 中,可以包含表中字段的名称、表单上的控件、常量或函数。如果 expr 包含一个函数,它可以是内置的或用户定义的,但不能是另一个域聚合或 SQL 聚合函数。
- domain :它是一个字符串表达式,用于标识构成域的记录集。对于不需要参数的查询,它可以是表名或查询名。
- 条件:它标识一个字符串表达式,用于限制执行 DSum函数的数据范围。它是可选的。它是应用于域的 WHERE 子句。
返回:它返回满足条件的指定记录集中所有值的总和。如果没有记录满足条件参数或域不包含记录,则 DSum函数返回 Null。
表 – 产品详情:
PRODUCT_ID | PRODUCT_PRICE |
---|---|
101 | 15000 |
102 | 10000 |
103 | 11000 |
104 | 6000 |
示例 1:查找所有产品价格的总和。
Select DSum("Product_Price", "Product Details") as Total_Price;
输出 :
Total_Price |
---|
42000 |
示例 2:查找产品 id 小于 103 的给定条件下的产品价格总和。
Select DSum("Product_Price", "Product Details", "Product_Id < 103") as Total_Price;
输出 :
Total_Price |
---|
25000 |
2. DAvg()函数:
在 MS Access 中,DAvg()函数用于计算指定记录集(域)中的一组值的平均值。 DAvg 函数返回满足条件的字段中一组值的平均值。 DAvg 和 Avg 之间的区别在于,在 DAvg 函数中,在对数据进行分组之前对值进行平均,而在 Avg 函数的情况下,在对字段表达式中的值进行平均之前对数据进行分组。
句法 :
DAvg (expr, domain [, criteria])
参数:此方法接受三个参数,如上所述,如下所述:
- expr :它标识要对其值进行平均的数值字段。它可以是标识表或查询中的字段的字符串表达式,也可以是对该字段中的数据执行计算的表达式。在 expr 中,可以包含表中字段的名称、表单上的控件、常量或函数。如果 expr 包含一个函数,它可以是内置的或用户定义的,但不能是另一个域聚合或 SQL 聚合函数。
- domain :它是一个字符串表达式,用于标识构成域的记录集。对于不需要参数的查询,它可以是表名或查询名。
- 条件:它标识一个字符串表达式,用于限制执行 DAvg函数的数据范围。它是可选的。它是应用于域的 WHERE 子句。
返回:它返回满足条件的指定记录集中所有值的平均值。如果没有记录满足条件参数 DAvg函数返回 Null。
表 – 产品详情:
PRODUCT_ID | PRODUCT_PRICE |
---|---|
101 | 10000 |
102 | 20000 |
103 | 30000 |
104 | 40000 |
示例 1:查找产品价格的平均值。
Select DAvg("Product_Price", "Product Details") as Avg_Price;
输出 :
Avg_Price |
---|
25000 |
示例 2:在产品 ID 小于 103 的给定条件下查找产品价格的平均值。
Select DAvg("Product_Price", "Product Details", "Product_Id < 103") as Avg_Price;
输出 :
Avg_Price |
---|
15000 |