我有一个名为Numbers的表格,格式如下:
Number Extension
123 1
123 24
123 6
123 10
123 11
123 25
123 2
123 3
123 13
我需要这样的结果集:
Number Begin End
123 1 3
123 6 6
123 10 13
123 24 25
有几个数字,每个数字都有随机顺序的这些扩展名。我需要在每个数字的范围内对它们进行分组,以便这些扩展存在。
让我知道任何问题/澄清。
答案 0 :(得分:2)
您可以通过从每个扩展名中减去连续数字来完成此操作。对于顺序扩展,这将是一个常量。然后,您可以通过这种差异进行分组:
select number, min(extension), max(extension)
from (select n.*, (extension - row_number() over (partition by number order by extension)) as grp
from numbers n
) n
group by number, grp
order by number, min(extension);