sum函數﹖
应该是命令吧
SUM 命令
对当前选定表中的所有或指定的数值型字段求和。
SUM [eExpressionList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[TO MemVarNameList | TO ARRAY ArrayName]
[NOOPTIMIZE]
参数
eExpressionList
指定要求和的一个或多个字段或字段表达式。如果省略字段表达式列表,则对所有数值型字段进行求和。
Scope
指定包含在求和运算中的记录范围。Scope 子句有:ALL、 NEXT nRecords、 RECORD nRecordNumber 和 REST。有关Scope 子句的更多信息,请参见 Scope 子句。SUM 命令的默认范围是所有记录(ALL)。
FOR lExpression1
指定只有使逻辑条件 lExpression1 结果为真(.T.)的记录才进行求和。包含 FOR 子句可以有条件的统计记录,筛选出不想要的记录。如果 lExpression1 是一个可优化表达式,则 Rushmore 查询优化技术将优化 SUM ... FOR 命令。为了获得最佳性能,应在 FOR 子句中使用可优化表达式。有关 Rushmore 优化的更多信息,请参见SET OPTIMIZE 和 使用 Rushmore 查询优化来加速数据访问。
WHILE lExpression2
指定一个条件,只对当前表中使逻辑表达式 lExpression2 结果为真(.T.)的记录进行统计。&&译者注:直至遇到第一条为假的记录
TO MemVarNameList
存储每个求和值到内存变量中。如果在 MemVarNameList 中指定的内存变量不存在,则 Visual FoxPro 将自动创建它。用逗号分隔列表中的内存变量名。
TO ARRAY ArrayName
存储求和值到数组变量中。如果 SUM 中指定的数组不存在,则
Visual FoxPro 自动创建它。如果数组存在,但太小,不能包含所有的求和值,则自动增加数组的大小以存放求和值。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE products
&& 打开 Products 表
SUM in_stock, on_order, in_stock+on_order ;
TO gnInStock, gnOnOrder, gnUnits
CLEAR
?
? '库存总数: ', gnInStock
&& 显示 3119.00
? '订货总数:
', gnOnOrder
&& 显示 780.00
? '总 # 单位 :
', gnUnits
&& 显示 3899.00