我正在寻找使用正确的窗口功能为我的SQL问题。
我有下表,我需要找到连续范围的start
和end
编号。
日志表:
+------------+
| log_id |
+------------+
| 1 |
| 2 |
| 3 |
| 7 |
| 8 |
| 10 |
+------------+
预期结果:
+------------+--------------+
| start_id | end_id |
+------------+--------------+
| 1 | 3 |
| 7 | 8 |
| 10 | 10 |
+------------+--------------+
3条答案
按热度按时间cgvd09ve1#
其思想是减去一个递增值,然后进行合计:
ql3eal8s2#
您可以使用
row_number()
,尝试以下操作,这里是演示。euoag5mw3#
你也可以创建CTE-