糖逗 发表于 2020-3-29 10:45:12

MYSQL错题整理(1285. 找到连续区间的开始和结束数字)

本帖最后由 糖逗 于 2020-7-2 16:22 编辑

题目描述
编写一个 SQL 查询得到 Logs 表中的连续区间的开始数字和结束数字。

将查询表按照 start_id 排序。

查询结果格式如下面的例子:

Logs 表:
+------------+
| log_id   |
+------------+
| 1          |
| 2          |
| 3          |
| 7          |
| 8          |
| 10         |
+------------+

结果表:
+------------+--------------+
| start_id   | end_id       |
+------------+--------------+
| 1          | 3            |
| 7          | 8            |
| 10         | 10         |
+------------+--------------+
结果表应包含 Logs 表中的所有区间。
从 1 到 3 在表中。
从 4 到 6 不在表中。
从 7 到 8 在表中。
9 不在表中。
10 在表中。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-start-and-end-number-of-continuous-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


select a.log_id as start_id,b.log_id as end_id from
(select log_id from Logs where log_id-1 not in (select* from Logs))a,
(select log_id from Logs where log_id+1 not in (select* from Logs))b
where b.log_id>=a.log_id
group by a.log_id
页: [1]
查看完整版本: MYSQL错题整理(1285. 找到连续区间的开始和结束数字)