使用SQL查询选择连续数字

sha*_*nuo 4 php mysql

这是剧院座位预订计划。

Seat No Status
1 Booked
2 Available
3 Available
4 Available
5 Available
6 Available
7 Booked
8 Available
9 Available
10 Available
Run Code Online (Sandbox Code Playgroud)

如果有人要预订6张票,他将获得2至6号座位和8号座位。如果有人只预订5张票,则将获得2至6号座位。

我如何使用SQL查询(或PHP代码)知道相邻席位是否超过要求的席位?

顺序选择座位是我需要实现的主要目标。

Bri*_*ter 5

尝试这个:

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
Run Code Online (Sandbox Code Playgroud)

设置为选择四个连续的座位。将所有“ 4”实例调整为所需的座位数即可获得所需的座位。