Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Reduce To Ranges aggregate function
Mike King wrote:
> ID
> ----
> 1
> 2
> 3
> 4
> 5
> 11
> 12
> 45
>
> Reduced form: 1-5,11-12,45
Consecutive values are easy to find using OLAP-functions:
select
min(id), max(id)
from
(
select
id, id - row_number() over (order by id) grpfrom t
If id is not unique use dense_rank instead of row_number...
Dieter Received on Sat Oct 21 2006 - 11:19:35 CDT