我在一个包含33,000行的SQL Server表上使用SELECT
查询,但它只返回3500行。
我们对SQL Server中SELECT查询返回的最大行数有限制吗?如果是,请告诉我如何更改。
提前致谢
答案 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
重试。