vfp中total命令的用法
一个表有三个字段:iddatenum(数值)假如数据如下:iddatenuma9/5/20071b9/5/20072c9/5/20075a9/6/20078a9/7/20...
一个表有三个字段:id date num(数值)
假如数据如下:
id date num
a 9/5/2007 1
b 9/5/2007 2
c 9/5/2007 5
a 9/6/2007 8
a 9/7/2007 7
如何对这个表按id分类汇总?num求和后date怎么处理?在vfp中有个total命令,请问是怎么用的? 展开
假如数据如下:
id date num
a 9/5/2007 1
b 9/5/2007 2
c 9/5/2007 5
a 9/6/2007 8
a 9/7/2007 7
如何对这个表按id分类汇总?num求和后date怎么处理?在vfp中有个total命令,请问是怎么用的? 展开
3个回答
展开全部
最简单的命令不是用total,可以用calculate命令,例如,你要统计所有id为a的num总和到变量num_total:
calculate sum(num) for id="a" to num_total
如果你要统计9/5/2007的
calculate sum(num) for date={9/5/2007} to num_total
total 命令:
计算当前选定表中数值字段的总和。
TOTAL TO TableName ON FieldName [FIELDS FieldNameList] [Scope]
[FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅联机主题中的 scope(作用域)子句 或 语言概述。
TOTAL 命令默认的范围是全部 (ALL) 记录。
FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
备注
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。
如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:
小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。
calculate sum(num) for id="a" to num_total
如果你要统计9/5/2007的
calculate sum(num) for date={9/5/2007} to num_total
total 命令:
计算当前选定表中数值字段的总和。
TOTAL TO TableName ON FieldName [FIELDS FieldNameList] [Scope]
[FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅联机主题中的 scope(作用域)子句 或 语言概述。
TOTAL 命令默认的范围是全部 (ALL) 记录。
FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
备注
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。
如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:
小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。
参考资料: www.ye120.cn
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
2015-08-30 · 知道合伙人互联网行家
关注
展开全部
计算当前选定表中数值字段的总和。
语法
TOTAL TO TableName ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
语法
TOTAL TO TableName ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个表有三个字段:id date num(数值)
假如数据如下:
id date num
a 9/5/2007 1
b 9/5/2007 2
c 9/5/2007 5
a 9/6/2007 8
a 9/7/2007 7
要对这个表按id分类汇总,首先要按id对立索引并打开索引,再用Total命令:
TOTAL TO <汇总表名> ON id
假如数据如下:
id date num
a 9/5/2007 1
b 9/5/2007 2
c 9/5/2007 5
a 9/6/2007 8
a 9/7/2007 7
要对这个表按id分类汇总,首先要按id对立索引并打开索引,再用Total命令:
TOTAL TO <汇总表名> ON id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询