sql >> Databasteknik >  >> RDS >> PostgreSQL

Hitta luckor i en sekvens i SQL utan att skapa ytterligare tabeller

Med modern SQL , detta kan enkelt göras med fönsterfunktioner :

select invoice_number + 1 as gap_start, 
       next_nr - 1 as gap_end
from (
  select invoice_number, 
         lead(invoice_number) over (order by invoice_number) as next_nr
  from invoices
) nr
where invoice_number + 1 <> next_nr;

SQLFiddle:http://sqlfiddle.com/#!15/1e807/1



  1. Säkert MySQL-lösenord på delad hosting

  2. Infoga nya kolumner i mitten av en tabell?

  3. Mysql 5.5 LADDA DATAINFIL Behörigheter

  4. Lägga till en raderingsknapp i PHP på varje rad i en MySQL-tabell