sql >> Databasteknik >  >> RDS >> Mysql

välja på varandra följande nummer med SQL-fråga

Prova detta:

select seat, status
from seats
where seat >= (
   select a.seat
   from seats a
      left join seats b on 
         a.seat < b.seat and
         b.seat < a.seat + 4 and
         b.status = 'Available'
   where a.status = 'Available'
   group by a.seat
   having count(b.seat)+1 = 4
   )
limit 4

Detta är inställt för att välja fyra på varandra följande platser. Justera alla instanser av "4" till önskat antal platser för att få det du vill ha.



  1. SQL:Uppdatera en rad och returnera ett kolumnvärde med 1 fråga

  2. skapa tabell med sequence.nextval i oracle

  3. Entity Framework fungerar inte med temporal tabell

  4. hur man ställer in längden på en kolumn i viloläge med maximal längd