### Problem
Report Stadium records belonging to a run of at least three consecutive ids, with people >= 100 on every row in the run. Consecutive ids matter; visit dates need not be consecutive calendar days. Sort output by visit_date ascending.
### Local practice clarification
An ID qualifies if it is non-NULL and at least one row with that ID has at least 100 people. A run needs at least three distinct qualifying IDs that increase by one. Return every row with at least 100 people whose ID belongs to such a run. A missing numeric ID breaks the run.
### Tables
Table: `Stadium`
```text
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| visit_date | date |
| people | int |
+---------------+---------+
visit_date is the column with unique values for this table.
Each row of this table contains the visit date and visit id to the stadium with the number of people during the visit.
As the id increases, the date increases as well.
```
### Example
```text
Stadium (id,visit_date,people): (1,2021-04-01,99), (2,2021-04-02,100), (3,2021-04-04,130), (4,2021-04-05,140), (5,2021-04-08,90)
Output (id,visit_date,people): (2,2021-04-02,100), (3,2021-04-04,130), (4,2021-04-05,140)
```
### Clarification example
```text
Stadium (id,visit_date,people): (1,2021-05-01,100), (2,2021-05-02,110), (2,2021-05-03,120), (2,2021-05-04,90), (3,2021-05-05,130)
Output (id,visit_date,people): (1,2021-05-01,100), (2,2021-05-02,110), (2,2021-05-03,120), (3,2021-05-05,130)
```
The distinct qualifying IDs are 1,2,3. Both high-attendance ID-2 rows remain in the result; the ID-2 row with 90 people does not.
### What a Strong Answer Covers
- Find runs of qualifying numeric IDs and handle gaps.
- Return all qualifying rows from those runs, including repeated IDs, and sort by visit date.
### Follow-up Questions
- How would the result change if the run were defined by calendar dates?
- How would you return each run's first and last ID instead of every row?
Overview: Find every qualifying stadium visit in a run of at least three consecutive numeric IDs.
Report Stadium records belonging to a run of at least three consecutive ids, with people >= 100 on every row in the run. Consecutive ids matter; visit dates need not be consecutive calendar days. Sort output by visit_date ascending.
Local practice clarification
An ID qualifies if it is non-NULL and at least one row with that ID has at least 100 people. A run needs at least three distinct qualifying IDs that increase by one. Return every row with at least 100 people whose ID belongs to such a run. A missing numeric ID breaks the run.
Tables
Table: Stadium
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| visit_date | date |
| people | int |
+---------------+---------+
visit_date is the column with unique values for this table.
Each row of this table contains the visit date and visit id to the stadium with the number of people during the visit.
As the id increases, the date increases as well.