sql >> Database >  >> RDS >> PostgreSQL

Zoek hiaten in een reeks in SQL zonder extra tabellen te maken

Met moderne SQL , kan dit eenvoudig worden gedaan met behulp van vensterfuncties :

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. Voeg twee queries samen in Mysql

  2. Hoe een Oracle PL/SQL-object supermethode aan te roepen

  3. Recursieve onderliggende/ouderzoekopdrachten in T/SQL

  4. Installeer mysqlclient voor Django Python op Mac OS X Sierra