|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 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
复制代码 |
|