【发布时间】:2015-05-28 13:39:31
【问题描述】:
我在下面有这个查询,我还需要从中获取特定数量的行,比如 100 行。我还需要从特定的行数中获取行数,例如从 100 到 200、从 200 到 300 等。我一直在尝试ROW_NUMBER() 函数,但没有运气。
注意!我们不能“偏移 100 行仅获取下 100 行”,因为它仅适用于 mssql 2012。
SELECT
Result.CaseCount,
CaseID,
ChildCaseName,
CPR,
FirstName,
LastName,
CustomerInfoID,
InstitutionName,
CaseDeadline,
[StatusName],
[StatusOwner]
FROM ResultSelectorCTE,
(select count(*) as CaseCount FROM ResultSelectorCTE) AS Result
我该怎么做?
【问题讨论】:
-
使用
SELECT TOP 100 Column1, Column2 FROM Table -
注意:当使用“top”、“limit”等时,您应该始终包含
order by子句...否则:您选择哪 100 个?跨度> -
您想要获取 X 行还是获取所有内容以及行数?您标记了 C# - 您想在 C# 代码或 SQL 查询中获得计数吗?
-
@OwenPauling 是的,我想获得 x 行。我应该指定我需要从特定点开始的 100 行,例如用于分页功能。
-
@Örvar 这是一个重要的附加要求,它会改变解决方案 - 但请参阅
OFFSET {n} ROWS FETCH NEXT {m} ROWS ONLY
标签: sql-server