FOXPRO中统计记录数怎么写?

asaili 2003-02-25 11:39:37
就像SELECT COUNT(*) FROM TABLE1 一样?
水能给我帖点常用的FOXPRO命令。
...全文
1426 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Foxer 2003-03-08
  • 打赏
  • 举报
回复
对,RECCOUNT(),非常迅速,不过缺点就是如果记录里面有删除的记录一并算上了,如果没有这个问题的话,就用这个函数吧,1秒钟至少可以执行几百次
田九 2003-03-01
  • 打赏
  • 举报
回复
同意2楼的
shs20 2003-02-25
  • 打赏
  • 举报
回复
TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN

如果命令中包括了 TO 子句,但没有包括 INTO 子句,则查询结果定向输出到名为 FileName 的 ASCII 码文件、打印机或 Visual FoxPro 主窗口。
ADDITIVE 使查询结果追加到 TO FILE FileName 所指定文本文件的内容后面。
TO PRINTER 使查询结果定向输出到打印机。
在 Visual FoxPro 、FoxPro for Windows 和 FoxPro for Macintosh 中, 为了在打印开始前显示对话框,可以包括可选的 PROMPT 子句。在 PROMPT 弹出的对话框中,可以调整打印机设置。能够调整的打印机设置取决于当前安装的打印机驱动程序。PROMPT 子句应直接放在 TO PRINTER 后面。FoxPro for MS-DOS 忽略 PROMPT。

TO SCREEN 使查询结果定向输出到 Visual FoxPro 主窗口或活动的用户自定义窗口中。
创建查询输出时,列的命名遵循如下规则:

? 如果选择项是具有唯一名称的字段,则用字段名作为输出列名。
? 如果多个选择项具有相同名称。例如,如果名为 Customer 的表有一个 STREET 字段,而名为 Employees 的表也有一个 STREET 字段,则输出列命名为 Extension_A 和 Extension_B (STREET_A 和 STREET_B)。如果选择项名称有 10 字符长,可以将名称截短后再加下划线和字母。例如,DEPARTMENT 变为 DEPARTME_A。
? 如果选择项是表达式,它的输出列命名为 EXP_A。其他表达式分别命名为 EXP_B、EXP_C,依此类推。

? 如果选择项包含诸如 COUNT( ) 这样的字段函数,则输出列命名为 CNT_A。如果另一个选择项包含 SUM( ),它的输出列命名为 SUM_B


PREFERENCE PreferenceName

如果查询结果送往浏览窗口,就可以使用 PREFERENCE 保存浏览窗口的属性和选项以备后用。PREFERENCE 把特征属性或参数选项长期保存在 FOXUSER 的资源文件中,任何时侯都可以对它们进行检索。
第一次执行有 PREFERENCE PreferenceName 的 SELECT 命令时创建参数选项。以后执行有相同参数选项名的 SELECT 命令时便将浏览窗口恢复到原来的参数选项状态。当浏览窗口关闭时,更新参数选项。
如果按 CTRL+Q 退出浏览窗口,对浏览窗口所作的更改将不保存到资源文件中。

NOCONSOLE

不显示送到文件、打印机或 Visual FoxPro 主窗口的查询结果。

PLAIN

防止列标题出现在显示的查询结果中。不管有无 TO 子句都可使用 PLAIN 子句。如果 SELECT 语句中包括 INTO 子句,则忽略 PLAIN 子句。

NOWAIT

打开浏览窗口并将查询结果输出到这个窗口后继续程序的执行。程序并不等待关闭浏览窗口,而是立即执行紧接在 SELECT 语句后面的程序行。
SELECT 命令中包括 TO SCREEN 可以把查询结果定向输出到 Visual FoxPro 主窗口或用户自定义窗口。如果显示时 Visual FoxPro 主窗口或用户自定义窗口中写满了一屏,就暂停输出,按任意键可以查看查询结果后面的内容。但是,如果命令中包括了 NOWAIT 子句,显示查询结果时就不会暂停,等待按键,而是在 Visual FoxPro 主窗口或用户自定义窗口中连续滚过所有内容。如果命令中包含有 INTO 子句,忽略 NOWAIT
子句。

WHERE JoinCondition [AND JoinCondition ...]
[AND | OR FilterCondition [AND | OR FilterCondition ...]]

告知 Visual FoxPro 只在查询结果中包含一定的记录。从多表中检索数据时需要用到 WHERE。
JoinCondition 指定一个字段,该字段联接 FROM 子句中的表。如果查询中包括不止一个表,就应该为第一个表后的每一个表指定联接条件。
shs20 2003-02-25
  • 打赏
  • 举报
回复
从一个或多个表中检索数据。

语法

SELECT [ALL | DISTINCT]
[Alias.] Select_Item [AS Column_Name]
[, [Alias.] Select_Item [AS Column_Name] ...]
FROM [DatabaseName!]Table [Local_Alias]
[, [DatabaseName!]Table [Local_Alias] ...]
[[INTO Destination]
| [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]]
[PREFERENCE PreferenceName]
[NOCONSOLE]
[PLAIN]
[NOWAIT]
[WHERE JoinCondition [AND JoinCondition ...]
[AND | OR FilterCondition [AND | OR FilterCondition ...]]]
[GROUP BY GroupColumn [, GroupColumn ...]]
[HAVING FilterCondition]
[UNION [ALL] SELECTCommand]
[ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]

参数
[ALL | DISTINCT]

[Alias.] Select_Item [AS Column_Name]
[, [Alias.] Select_Item [AS Column_Name] ...]

此 SELECT 子句指定要包含在查询结果中的字段、常量和表达式。
默认情况下,查询结果中包含所有行,即使用 ALL。
DISTINCT 排除查询结果中所有重复的行。

附注
每一个 SELECT 子句只能使用一次 DISTINCT。

Alias. 限定匹配项的名称。 Select_Item 指定的每一项在查询结果中都生成一列。如果多个项具有相同的名称,则应在这些项名前加上表的别名和一个句点,以防止出现重复的列。
Select_Item 指定包括在查询结果中的项。一个项可以是:

? FROM 子句所包含的表中的字段名称。
? 一个常量,查询结果中每一行都出现这个常量值。
? 一个表达式,可以是用户自定义函数名。

SELECT 中的用户自定义函数

在 SELECT 子句中使用用户自定义函数有明显优点,但使用时应考虑以下限制:

? SELECT 子句的运行速度会受用户自定义函数执行速度的影响。因此,如果用户自定义函数的操作量很大,则这些函数的功能最好通过调用 C 语言或汇编语言编写的 API 或用户自定义函数来完成。
? 在 SELECT 激活的用户自定义函数中,很难预测 Visual FoxPro 输入/输出(I/O)和表的环境。一般来说,不知道选择的工作区是哪一个,不知道当前表的名称,甚至不知道正在处理的字段名。这些变量的值完全取决于用户自定义函数在优化过程的什么地方激活。
? 在 SELECT 子句调用的用户自定义函数中修改 Visual FoxPro I/O 或表的环境是很不安全的。一般来说,这样做的结果难以预料。

? 从 SELECT 将值传递给用户自定义函数唯一可靠的方法,是激活用户自定义函数时以参数的形式传递。
? 经过实践,有可能发现被认为是违法的操作在某种 FoxPro 版本中运行正确,但这并不保证它在以后的版本中也能正确运行。

抛开这些限制不说,用户自定义函数在 SELECT 语句中还是可接受的。但不要忘记使用 SELECT 可能要降低性能。

下列字段函数可以与选定项一起使用,选定项可以是一个字段或包含字段的表达式:

? AVG(Select_Item),计算列中数值的平均值。
? COUNT(Select_Item),计算列中选定项的数目。计算查询输出的行数。
? MIN(Select_Item),确定列中 Select_Item 的最小值。
? MAX(Select_Item),确定列中 Select_Item 的最大值。
? SUM(Select_Item),计算列中数值的和。

字段函数不能嵌套使用。

AS Column_Name

指定查询结果中列的标题。当 Select_Item 是一个表达式或一个字段函数时,如果要给此列取一个有含义的名称,一般可以使用这个子句。
Column_Name 可以是一个表达式,但不能包含那些表字段名称中不允许出现的字符(如空格)。

FROM [DatabaseName!]Table [Local_Alias]
[, [DatabaseName!]Table [Local_Alias] ...]

列出所有从中检索数据的表。如果没有打开表, Visual FoxPro 显示“打开”对话框以便指定文件位置。表打开以后,直到查询结束时才关闭。
当包含表的数据库不是当前数据库时,DatabaseName! 指定这个数据库的名称。如果数据库不是当前数据库,就必须指定包含表的数据库名称。应在数据库名称之后表名之前加上感叹号(!)分隔符。
Local_Alias 为 Table 中的表指定一个临时名称。如果指定了本地别名,那么在整个 SELECT 语句中必须都用这个别名代替表名。本地别名不影响 Visual FoxPro 环境。

INTO Destination

指定在何处保存查询结果。如果在同一个查询中同时包括了 INTO 子句和 TO 子句,则 TO 子句不起作用。如果没有包括 INTO 子句,查询结果显示在浏览窗口中。也可以用 TO 将查询结果定向输出到打印机或文件。
Destination 可以是下列子句之一:

? ARRAY ArrayName,将查询结果保存到内存变量数组中。如果查询结果中不包含任何记录,则不创建这个数组。
? CURSOR CursorName,将查询结果保存到临时表中。如果指定了一个已打开表的名称,则 Visual FoxPro 产生错误信息。执行完 SELECT
语句后,临时表仍然保持打开、活动但只读。一旦关闭临时表,则自动删除它。临时表作为 SORTWORK 指定驱动器上的一个临时文件存在。
? DBF TableName | TABLE TableName,将查询结果保存到一个表中。如果指定的表已经打开,并且 SET SAFETY 设置为 OFF ,则 Visual FoxPro 在不给出警告的情况下改写该表。如果没有指定扩展名, Visual FoxPro 指定表的扩展名是 .DBF。SELECT 语句执行结束后,表仍然保持打开并处于活动状态。
xiolig 2003-02-25
  • 打赏
  • 举报
回复
最常用的统计命令:COUNT TO FOR ...
bbserhb 2003-02-25
  • 打赏
  • 举报
回复
reccount()就可以啊。

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧