场景:我需要从Visual FoxPro数据库中提取信息;但是,对此进行较大的查询可能会锁定系统。为了解决这个问题,我们设置了限制,以在查询经过一定时间后取消查询,并限制返回的行数。
有没有一种方法可以使用“ SELECT TOP
我最初的尝试是仅在语句的选择部分添加一个“ COUNT(*)”,但这并不能完全满足我的要求(它返回正确的行数,但仅返回一行其余数据)。
如果我正确理解了这个问题,则可以进行子选择,但这将意味着您对返回的每一行都调用count SQL:
select top 10 field1, field2, (select count(*) from table) as totalrows from table
这将为您提供前10行,每个行中都有一个额外的列,称为totalrows,其中包含表中所有行的计数。
不过,就我个人而言,我将只运行一个单独的查询以获取前 n 行和计数。