对SELECT查询返回的最大行数是否有任何限制

时间:2015-03-23 03:59:32

标签: sql-server

我在一个包含33,000行的SQL Server表上使用SELECT查询,但它只返回3500行。

我们对SQL Server中SELECT查询返回的最大行数有限制吗?如果是,请告诉我如何更改。

提前致谢

3 个答案:

答案 0 :(得分:5)

Sql Server中的默认设置是返回要求查询的所有。您可以通过SET ROWCOUNT覆盖默认值,但如果发生这种情况,我会非常惊讶。相反,请检查sql命令是否存在可能限制结果的以下任何内容:

  • TOP
  • OFFSET / FETCH
  • JOIN
  • WHERE
  • APPLY
  • GROUP BY
  • DISTINCT
  • HAVING(意为GROUP BY,但可以限制群组不记录的记录)

答案 1 :(得分:1)

默认情况下,Sql-server返回表中的所有内容,如select * from yourtable,如果它有4行或40000行,则返回所有内容。

对于这个Sqlserver,有where子句用于过滤数据。来自3500行的33000行,不会自动完成,无论是在错误的数据库中搜索,还是您都有过滤条件。

现在,如果您只想获得有限的返回条目,我首先想到的是TOP intvalue子句,它返回您在intvalue中定义的行。

- Top
- Where
- Distinct

和@Joel建议的其他人一样。

答案 2 :(得分:0)

Select * from youtable必须显示所有33,000行,如果您确实有这么多行。如果我写select top 1000 * from yourtable,那么我只会看到1,000千。我使用950,000行的表格,所以你必须确保你真的有你说的金额。 请使用select * from yourtable重试。