C O U N T 命 令
统计表中记录数目
语 法
C O U N T
[ Scope ] [FOR lExpression1 ] [ W H ILE lExpression2 ] [TO VarName ]
[NOOPTIMIZE]
参 数 描 述
Scope
指定需要统计的记录范围 scope 子句是 All NEXT nRecords RECORD
nRecordNumber 和 REST 包含有 Scope 参数的命令只能对活动工作区中的表进行操作
对 COUNT 命令 默认的范围是全部记录 即 ALL
FOR lExpression1
指定只有满足逻辑条件 lExpression1 的记录才进行计数 包含 FOR 子句可以有条件地对记录进行计数 筛选出不合要求的记录
如果 lExpression1 是可优化表达式 那么 Rushmore 将优化 COUNT FOR 查询 为获得最佳性能 请在 FOR 子句中使用可优化表达式
有关优化表达式的内容 请参阅稍后部分的 SET OPTIMIZE 命 令 和 M icrosoft
V isual FoxPro 6.0 中 文 版 程 序 员 指 南 第 十 五 章 优 化 应 用 程 序 的 掌 握
Rushmore 技术
W H ILE lExpression2
指 定 对 记 录 进 行 计 数 的 条 件 只 要 逻 辑 表 达 式 lExpression2 的 值 为 真
(.T.) 则 进 行 计 数 直 至 遇 到 使 该 表 达 式 的 值 为 假 (.F.) 的 记 录 为 止
TO VarName
指 定 用 于 存 储 记 录 数 目 的 变 量 或 数 组 如 果 所 指 定 的 变 量 不 存 在 Visual FoxPro 会 创 建 它
NOOPTIMIZE
禁 止 COUNT 进 行 Rushmore 优 化 有 关 详 细 内 容 请 参 阅 稍 后 部 分 的 SET OPTIMIZE 命 令 和 M icrosoft Visual FoxPro 6.0 中 文 版 程 序 员 指 南 第 十 五 章
优 化 应 用 程 序 的 掌 握 Rushmore 技 术
说 明
COUNT 在 FOR 或 W H ILE 条 件为 真 时 对一定范围内的记录进行计数 如果 SET TALK 是 ON 则显示记录的数目
如果 SET DELETE 是 OFF 则带有删除标记的记录也包括在计数中有关 Null 值如何影响 COUNT 的讨论 请参阅帮助中的 语言概述示 例
下面的示例统计并显示在巴黎的顾客数目
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && 打开 Customer 表
CLEAR
COUNT FOR UPPER(city) = 'PARIS'
DISPLAY FIELDS company, contact FOR UPPER(city) = 'PARIS'
请 参 阅
CALCULATE , SET DELETED , SET TALK