中易网

vfp中怎么样求和,平均数,最大、小值。怎么样求排序?它们所对应的命令是什么?

答案:1  悬赏:0  
解决时间 2021-01-16 01:03
vfp中怎么样求和,平均数,最大、小值。怎么样求排序?它们所对应的命令是什么?
最佳答案
CALCULATE 命令
对表中的字段或包含字段的表达式进行财务和统计操作。

CALCULATE eExpressionList [Scope] [FOR lExpression1] [WHILE lExpression2]
[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]

参数
eExpressionList
指定表达式,该表达式可以包含下列函数的任意组合: AVG(nExpression) CNT( ) 或 COUNT( ) MAX(eExpression) MIN(eExpression) NPV(nExpression1, nExpression2 [, nExpression3]) STD(nExpression) SUM(nExpression) VAR(nExpression) ,用逗号分隔表达式列表 eExpressionList 中的函数。这些函数仅用于 CALCULATE 命令,在本部分后面将详细说明这些函数。不要与有相似名称的独立函数相混淆。例如, CALCULATE MIN( ) 与 MIN( ) 不同。
Scope
指定计算中所使用记录的范围。只有在范围之内的记录才进行计算。Scope 子句有:ALL, NEXT nRecords, RECORD nRecordNumber, 和 REST。 更多的信息,请参见 Scope 子句。 包含 Scope 子句的命令只能在活动工作区内的表上操作。CALCULATE 命令默认的范围是所有记录(ALL)。
FOR lExpression1
指定只有满足逻辑条件 lExpression1 的记录才进行计算。在计算中包含 FOR 子句可以有条件的选择记录,筛选出不想要的记录。如果 lExpression1 是一个可优化表达式,Rushmore 查询优化将对 CALCULATE ... FOR 进行优化。为了获得最佳的性能,应在 FOR 子句中使用可优化表达式。有关 Rushmore 优化表达式的更多信息,请参见SET OPTIMIZE 和 使用 Rushmore 查询优化来加速数据访问。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 结果为真(.T.),记录就进行计算。(*译者注:直至遇到第一个为.F.的记录为止)
TO VarList
指定一个或多个用以存储计算结果的变量。若指定的内存变量不存在,Visual FoxPro 自动用指定的名称创建此变量。
TO ARRAY ArrayName
指定存储计算结果的数组名。如果指定的数组不存在,Visual FoxPro 自动用指定的名称创建此数组。如果数组存在,但其容纳不下所有的计算结果,Visual FoxPro 自动扩充数组以容纳信息。如果数组比需要的大,多余元素内容保持不变。计算结果按照 CALCULATE 命令指定的顺序保存到数组。
NOOPTIMIZE
禁止在 CALCULATE 中使用 Rushmore 优化技术。更多的信息,请参见 SET OPTIMIZE 和 使用 Rushmore 查询优化来加速数据访问。
AVG( nExpression)
计算 nExpression 的算术平均值。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
CNT( ) 或 COUNT( )
返回表中记录的数目。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
MAX( eExpression)
返回 eExpression的最大值或最新值。在 MAX( ) 子句中,可指定任何字符型, 日期型, 日期时间型, 数值型, 浮点型, 整型, 双精度型, 或货币型字段,或任何使用这些数据类型的表达式。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
MIN( eExpression)
返回 eExpression 的最小值或最早值。 eExpression 中,可以包含任何字符型, 日期型, 日期时间型, 数值型, 浮点型, 整型, 双精度型, 或货币型字段,或任何使用这些数据类型的有效表达式。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
NPV( nExpression1, nExpression2[, nExpression3])
计算一个固定周期利率下,一系列现金流转的净现值。nExpression1 指定用十进制表示的利率。 nExpression2 指定代表一系列现金流转的字段, 字段表达式, 或数值表达式。每个现金流转可正可负。当 nExpression2 是字段时,每个记录的字段值都认为是一个现金流转。 nExpression3 指定可选的初始投资。如果不包括初始投资,则假定初始投资发生在第一阶段末。这个初始投资就是第一条记录,而且是负的,代表现金流出。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
STD( nExpression)
计算 nExpression 的标准偏差。标准偏差用来衡量字段或包含字段的表达式的值,偏离平均值的程度。标准偏差越小,这些值偏离平均值就越少。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
SUM( nExpression)
对 nExpression 求和。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
VAR( nExpression)
从 nExpression 的平均值中计算方差。方差是标准方差的平方。方差越小,值偏离平均值就越少。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
IN nWorkArea| cTableAlias
指定受 CALCULATE 命令影响的工作区或表别名。使用该子句指定当前工作区之外的工作区或表。
说明
含有 null 值的记录不包含在 CALCULATE 的操作中。

示例
复制代码
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE orders && 打开 Orders 表

SET TALK ON
CLEAR
CALCULATE AVG(order_amt), MIN(order_amt), MAX(order_amt)
CALCULATE STD(order_amt), VAR(order_amt) TO gnStd, gnVar
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
痕挞的意思是什么?痕挞的释义是什么啊?
七夕为什么要送荷花?
什么是描述杂技、马戏表演的词语?
他们说我很顽固,很固执,这句话是什么意思。
求铝型材cad图!带大样图和加工图就更好了。
好吧,好难受
我想哭但又不敢哭怎么办?
大棚蜜蜂过多吃花怎么办
150kv负荷850距离多大的铝芯电缆能带
海康威视 音视频存储A1016R 操作说明书 ;终
寻找养殖业投资人!本人想在家养殖,有场地!
听说可以买到精仿iphone7真的吗。
霍震寰的商界奇才
四百平方米的超市每天营业额达到多少算正常
我的世界一桶岩浆可以烧多久
推荐资讯
果脯蜜饯注册商标属于哪一类?
求poro社合集,谢了
樊城区襄樊襄阳小胖熊妈咪公寓(2号店)这个地
美就在身边的作文500字
中央新闻说微商是传销为什么不禁止
OPPO手机卡1流量用完了,怎么切换用卡2流量?
优思105有手电筒功能没有?
操作压力容器的步骤有哪些?
灯具五金电器管道地址在什么地方,想过去办事
肯德基(贵港餐厅)-洗手间地址在什么地方,我
宝玉健康咨询服务部地址好找么,我有些事要过
什么植物活的时间最长!能活多长时间?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?