我在下面有这个查询,我需要从中获取特定数量的行,例如100行。我还需要从特定行数中获取行数,例如从100到200,从200到300等等。我一直在试验ROW_NUMBER()
函数而没有运气。
NB!我们不能“仅限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
我该怎么做?
答案 0 :(得分:3)
MSSQL:SELECT TOP 100 Result.CaseCount,...
MYSQL:SELECT ... LIMIT 100;
答案 1 :(得分:3)
我还需要从特定行数中获取行,例如从100到200,从200到300等。
select Foo, Bar
from SomeTable
order by Blap
offset 100 rows fetch next 100 rows only
或者使用ROW_NUMBER()
:
select x.Foo, x.Bar
from (
select Foo, Bar, ROW_NUMBER() over(order by Blap desc) as [Row]
from SomeTable) x
where x.[Row] > 100 and x.[Row] <= 200
order by x.[Row]
答案 2 :(得分:1)
SELECT TOP X Result.CaseCount, CaseID, ChildCaseName, ...
其中X是你的号码。
答案 3 :(得分:0)
Select TOP 100 [column1],[column2].....FROM TABLE
但这取决于您提供的查询。
如果没有orderby
,那么每次都会得到不同的结果..