Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Ignorar a primeira linha no SQL Server 2005?


Você pode usar OVER cláusula e uma função de classificação. Você não pode filtrar isso diretamente, então você precisa de uma subconsulta ou uma expressão de tabela comum, o exemplo abaixo usa o último.
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;

Haverá melhor suporte para paginação na próxima versão do SQL Server (codinome Denali) com o OFFSET e FETCH palavras-chave.