Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Пропускане на първия ред в SQL Server 2005?

Можете да използвате OVER клауза и функция за класиране. Не можете да филтрирате това директно, така че трябва да ни изпратите подзаявка или израз на обща таблица, примерът по-долу използва последния.

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;

Ще има по-добра поддръжка за страниране в следващата версия на SQL Server (кодово име Denali) с OFFSET и FETCH ключови думи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да преместя база данни на SQL Server LocalDb от една машина на друга?

  2. SQL пакетна обработка на заявки (масив за въвеждане на SQL заявки)

  3. Изберете SQL резултати, групирани по седмици

  4. LINQ:добавяне на клауза where само когато стойността не е нула

  5. Изключение 0x80040154, генерирано по време на изпълнение на прост ssis пакет в MS SQL 2008R2 среда