Możesz użyć OVER
klauzula i funkcja rankingowa. Nie możesz filtrować według tego bezpośrednio, więc potrzebujesz do nas zapytania podrzędnego lub wspólnego wyrażenia tabelowego, w poniższym przykładzie zastosowano to drugie.
DECLARE @MyTable TABLE
(
ID INT,
Name VARCHAR(15)
);
INSERT INTO @MyTable VALUES (1, 'Alice');
INSERT INTO @MyTable VALUES (2, 'Bob');
INSERT INTO @MyTable VALUES (3, 'Chris');
INSERT INTO @MyTable VALUES (4, 'David');
INSERT INTO @MyTable VALUES (5, 'Edgar');
WITH people AS
(
SELECT ID, Name, ROW_NUMBER() OVER (ORDER BY ID) RN
FROM @MyTable
)
SELECT ID, Name
FROM people
WHERE RN > 1;
Lepsza obsługa stronicowania w następnej wersji SQL Server (nazwa kodowa Denali) z OFFSET
i FETCH
słowa kluczowe.