deducing ranges in SQL
From: Oxnard <oxnardNO_SPAM_at_comcast.net>
Date: Sun, 26 Feb 2006 21:39:59 -0600
Message-ID: <kcSdnbo_T9IT6Z_ZRVn-rA_at_comcast.com>
Oracle 9.2.0.6 in AIX
Date: Sun, 26 Feb 2006 21:39:59 -0600
Message-ID: <kcSdnbo_T9IT6Z_ZRVn-rA_at_comcast.com>
Oracle 9.2.0.6 in AIX
I am trying to find ranges and where the range ends for each d_no: The increment of val is one
My example is:
select * from t1
d_no val
1 20 1 21 1 22 1 23 1 25 1 1503 1 1504 3 502 3 503 3 504 3 600
I am trying to come up with an SQL which would produce an output of
d_no the_range 1 20-23 1 25 1 1503-1504 3 502-504 3 600
I have tried using some of the analytic functions and got close with lead
but not quite. I could do a cursor in
PL/SQL but the table is so huge it takes way to long. In fact I did do this
on a small table. It worked just fine.
Also what I am showing as a table is really an in-line view of a couple of
tables I have joined.
Any ideas would really be helpful
Thank you Received on Mon Feb 27 2006 - 04:39:59 CET