小编典典

SQL-返回有限的行数,但完整的行数

sql

场景:我需要从Visual
FoxPro数据库中提取信息;但是,对此进行较大的查询可能会锁定系统。为了解决这个问题,我们设置了限制,以在查询经过一定时间后取消查询,并限制返回的行数。

有没有一种方法可以使用“ SELECT TOP

”进行查询,还可以返回通过语句找到的实际行数?还是两次运行查询的唯一方法?(原因是我们仍然可以运行查询,但是将发生的情况通知用户。例如,“

找到的项目中显示的第一个###”)。

我最初的尝试是仅在语句的选择部分添加一个“ COUNT(*)”,但这并不能完全满足我的要求(它返回正确的行数,但仅返回一行其余数据)。


阅读 243

收藏
2021-05-23

共1个答案

小编典典

如果我正确理解了这个问题,则可以进行子选择,但这将意味着您对返回的每一行都调用count SQL:

select top 10 field1, field2, (select count(*) from table) as totalrows from table

这将为您提供前10行,每个行中都有一个额外的列,称为totalrows,其中包含表中所有行的计数。

不过,就我个人而言,我将只运行一个单独的查询以获取前 n 行和计数。

2021-05-23