Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie SQL w celu znalezienia brakujących numerów sekwencyjnych

Co powiesz na coś takiego:

  select (select isnull(max(val)+1,1) from mydata where val < md.val) as [from],
     md.val - 1 as [to]
  from mydata md
  where md.val != 1 and not exists (
        select 1 from mydata md2 where md2.val = md.val - 1)

podając wyniki podsumowane:

from        to
----------- -----------
6           6
8           8
11          14


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zalecane procesory Intel dla obciążeń SQL Server 2014

  2. Jak utworzyć unikalny indeks na kolumnie NULL?

  3. Czy mogę połączyć się z SQL Server za pomocą uwierzytelniania Windows z aplikacji internetowej Java EE?

  4. Jak wstawić do tabeli z tylko jedną kolumną IDENTITY?

  5. Strategie wdrażania bazy danych (SQL Server)