forked from fishercoder1534/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
_603.sql
30 lines (29 loc) · 944 Bytes
/
_603.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--603. Consecutive Available Seats
--
--Several friends at a cinema ticket office would like to reserve consecutive available seats.
--Can you help to query all the consecutive available seats order by the seat_id using the following cinema table?
--
--| seat_id | free |
--|---------|------|
--| 1 | 1 |
--| 2 | 0 |
--| 3 | 1 |
--| 4 | 1 |
--| 5 | 1 |
--Your query should return the following result for the sample case above.
--| seat_id |
--|---------|
--| 3 |
--| 4 |
--| 5 |
--Note:
--The seat_id is an auto increment int, and free is bool ('1' means free, and '0' means occupied.).
--Consecutive available seats are more than 2(inclusive) seats consecutively available.
select c.seat_id from cinema c where c.free = 1
and
(
c.seat_id+1 in (select seat_id from cinema where free=1)
or
c.seat_id-1 in (select seat_id from cinema where free=1)
)
order by c.seat_id