Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Reduce To Ranges aggregate function

Re: Reduce To Ranges aggregate function

From: Michel Cadot <micadot{at}altern{dot}org>
Date: Sat, 21 Oct 2006 18:44:19 +0200
Message-ID: <453a4e63$0$19971$426a74cc@news.free.fr>

"Dieter Noeth" <dnoeth_at_gmx.de> a écrit dans le message de news: ehdhat$sc1$1_at_online.de...
| 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) grp
| from t
| ) dt
| group by grp
|
| If id is not unique use dense_rank instead of row_number...
|
| Dieter

Neat solution!

Regards
Michel Cadot Received on Sat Oct 21 2006 - 11:44:19 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US