T O T A L 命 令

T O T A L 命 令 - 图1计算当前选定表中数值字段的总和

语 法

TOTAL TO TableName

O N FieldName

[FIELDS FieldNameLis t] [ Scope ]

[FOR lExpression1 ]

[ W H ILE lExpression2 ] [NOOPTIMIZE]

参 数 描 述

TableName

T O T A L 命 令 - 图2T O T A L 命 令 - 图3T O T A L 命 令 - 图4T O T A L 命 令 - 图5T O T A L 命 令 - 图6T O T A L 命 令 - 图7T O T A L 命 令 - 图8T O T A L 命 令 - 图9指 定 存 放 计 算 结 果 的 表 的 名 称 如 果 指 定 的 表 不 存 在 V isual FoxPro 将 创 建它 如 果 表 存 在 并 且 SET SAFETY 为 O N 则 V isual FoxPro 将 询 问 是 否 要改 写 这 个 已 存 在 的 表 如 果 SET SAFETY 为 OFF 则 不 做 任 何 提 示 直 接 改 写 输 出 表

FieldName

T O T A L 命 令 - 图10T O T A L 命 令 - 图11T O T A L 命 令 - 图12指 定 总 计 时 作 为 分 组 依 据 的 字 段 表 必 须 以 该 字 段 排 序 或 者 打 开 的 索 引 或索 引 标 识 必 须 以 该 字 段 作 为 其 关 键 字 表 达 式

FIELDS FieldNameList

T O T A L 命 令 - 图13T O T A L 命 令 - 图14T O T A L 命 令 - 图15T O T A L 命 令 - 图16指 定 要 总 计 的 字 段 列 表 中 的 字 段 名 用 逗 号 分 隔 如 果 省 略 了 FIELDS 子句 则 默 认 合 计 所 有 的 数 值 型 字 段

Scope

T O T A L 命 令 - 图17T O T A L 命 令 - 图18T O T A L 命 令 - 图19T O T A L 命 令 - 图20指 定 要 总 计 的 记 录 范 围 Scope 子 句 有 ALL NEXT nRecords Record

T O T A L 命 令 - 图21nReordNumber 和 REST

T O T A L 命 令 - 图22T O T A L 命 令 - 图23T O T A L 命 令 - 图24TOTAL 命 令 默 认 的 范 围 是 全 部 ALL 记 录

FOR lExpression1

T O T A L 命 令 - 图25T O T A L 命 令 - 图26指 定 一 个 条 件 只 有 满 足 该 逻 辑 条 件 lExpression1 的 记 录 包 含 在 总 计 中

T O T A L 命 令 - 图27如 果 lExpression1 是 可 优 化 表 达 式 那 么 Rushmore 可 以 优 化 TOTAL ... FOR

T O T A L 命 令 - 图28T O T A L 命 令 - 图29T O T A L 命 令 - 图30创 建 的 查 询 为 了 达 到 更 好 的 性 能 请 在 FOR 子 句 中 使 用 可 优 化 表 达 式

WH ILE lExpression2

T O T A L 命 令 - 图31T O T A L 命 令 - 图32T O T A L 命 令 - 图33T O T A L 命 令 - 图34T O T A L 命 令 - 图35T O T A L 命 令 - 图36T O T A L 命 令 - 图37指 定 一 个 条 件 只 要 逻 辑 表 达 式 lExpression2 计 算 为 真 .T . 时 当 前表 中 的 记 录 就 包 含 在 总 计 中

NOOPTIMIZE

T O T A L 命 令 - 图38关 闭 TOTAL 的 Rushmore 优 化

说 明

T O T A L 命 令 - 图39T O T A L 命 令 - 图40T O T A L 命 令 - 图41T O T A L 命 令 - 图42T O T A L 命 令 - 图43T O T A L 命 令 - 图44要使用此命令 当前工作区中的表必须经过排序或索引 对于具有相同字段值或索引关键字值的各组记录 将分别计算其总计值 总计结果放入另一个表的记录中 同时还将在此表中对这些字段值或索引关键字创建一条记录

T O T A L 命 令 - 图45T O T A L 命 令 - 图46T O T A L 命 令 - 图47T O T A L 命 令 - 图48如果第二个表中数值字段的宽度不足以放置总计值 将会发生数值溢出错误 当发生数值溢出错误时 Visual FoxPro 保存总计值最主要的部分

  • T O T A L 命 令 - 图49T O T A L 命 令 - 图50

    数 位 被 截 断 即 对 总 计 值 余 下 小 数 位 进 行 圆 整

  • T O T A L 命 令 - 图51T O T A L 命 令 - 图52T O T A L 命 令 - 图53

    如果总计值仍然不能放下 例如包含 7 位 以 上 的 数字 这时将采用科学计数法 表 示

  • T O T A L 命 令 - 图54T O T A L 命 令 - 图55

    后 用 星 号 代 替 字 段 的 内 容

请 参 阅

AVERAGE , CALCULATE , INDEX , SORT , SUM