Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 是否有可能知道SELECT TOP子句是否已达到最大结果量? 背景:_Sql_Ms Access 2010 - Fatal编程技术网

Sql 是否有可能知道SELECT TOP子句是否已达到最大结果量? 背景:

Sql 是否有可能知道SELECT TOP子句是否已达到最大结果量? 背景:,sql,ms-access-2010,Sql,Ms Access 2010,我正在使用MS Access 2010从vb.net windows应用程序运行一些简单的查询。 我有一个名为“machines”的表,我想用一些筛选条件得到最多100台机器,所以我使用这个查询:从机器中选择TOP 100*,其中Speed可以得到总计数并检查它是否大于100(如果您决定只显示TOP 100),然后您可以告诉用户还有更多记录没有显示 SELECT CASE WHEN COUNT(*) > 100 THEN 'Y' ELSE 'N' END AS MoreRecords

我正在使用MS Access 2010从vb.net windows应用程序运行一些简单的查询。
我有一个名为“machines”的表,我想用一些筛选条件得到最多100台机器,所以我使用这个查询:
从机器中选择TOP 100*,其中Speed可以得到总计数并检查它是否大于100(如果您决定只显示TOP 100),然后您可以告诉用户还有更多记录没有显示

 SELECT CASE WHEN COUNT(*) > 100 THEN 'Y' ELSE 'N' END AS MoreRecords
   FROM Machines
  WHERE Speed <= 1500;
选择计数(*)大于100时的大小写,然后选择“Y”或“N”作为更多记录结束
来自机器

其中速度在我看来
TOP101
方法不是一个不雅观的解决方案

一种选择是使用两个查询。首次运行:

SELECT COUNT(*) RowCount
FROM Machines 
WHERE Speed <= 1500;
选择计数(*)行计数
来自机器

WHERE Speed我已经尝试了您的查询(以及它的一些变体),但在MS Access 2010上似乎不起作用。不管怎样,谢谢。我开始觉得101强没那么糟糕。你的两个选择都会起作用,所以我选择这个作为正确答案。第二种选择似乎效率较低,所以我宁愿选择第一种。然而,由于我必须列出机器,我认为只做一个查询(前101个)更整洁。
SELECT TOP 100 *, (SELECT COUNT(*) FROM Machines WHERE Speed <=1500) AS RowCount
FROM Machines 
WHERE Speed <= 1500;