Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Analytics or not
Here's what i came up with:
create table sample (num number, part varchar2(30));
SQL> select * from sample;
NUM PART
---------- ------------------------------ 1 a 2 a 3 b 4 b 5 c 6 c 7 c 8 d 9 d 10 d 11 d 12 e 13 e
13 rows selected
Executed in 0.271 seconds
SQL>
SQL>
select ttt.*
from (
select tt.*, max(cnt_t) over (partition by part) as mx_p
from (
select t.*, count(*) over (order by num) as cnt_t from sample t
order by num
) tt
) ttt
where mx_p <= 10;
NUM PART CNT_T MX_P ---------- ------------------------------ ---------- ---------- 1 a 1 2 2 a 2 2 3 b 3 4 4 b 4 4 5 c 5 7 6 c 6 7 7 c 7 7
7 rows selected
Executed in 0.24 seconds
SQL>
select ttt.*
from (
select tt.*, max(cnt_t) over (partition by part) as mx_p
from (
select t.*, count(*) over (order by num) as cnt_t from sample t
order by num
) tt
) ttt
where mx_p <= 11;
NUM PART CNT_T MX_P ---------- ------------------------------ ---------- ---------- 1 a 1 2 2 a 2 2 3 b 3 4 4 b 4 4 5 c 5 7 6 c 6 7 7 c 7 7 8 d 8 11 9 d 9 11 10 d 10 11 11 d 11 11
11 rows selected
Executed in 0.26 seconds
SQL> Inner most query produces a running total. Middle query produces the "max total reached per group" Outer most filters out.
Does this solve it ?
On Apr 8, 2005 12:02 PM, Martic Zoran <zoran_martic_at_yahoo.com> wrote:
>
> You have the result set from some SQL.
>
> You want to return up to 1000 rows but broken down to
> the last partition in the set partitioned by a few
> logical columns (like employee id, ...).
>
> How to do this?
>
> e.g
>
> you have
>
> 1
> 2
> 2
> 3
> 3
> 3
> 4
> 4
> 4
> 5
> 5
> 5
> 5
>
> but you want back:
>
> 1
> 2
> 2
> 3
> 3
> 3
> 4
> 4
> 4
>
> because 5's are the new partition that will not fit in
> 10 you want to return back.
> Now just replace numbers with the many columns.
>
> Regards,
> Zoran
>
>
> __________________________________
> Yahoo! Messenger
> Show us what our next emoticon should look like. Join the fun.
> http://www.advision.webevents.yahoo.com/emoticontest
> --
> http://www.freelists.org/webpage/oracle-l
>
-- Christo Kutrovsky Database/System Administrator The Pythian Group -- http://www.freelists.org/webpage/oracle-lReceived on Fri Apr 08 2005 - 13:14:44 CDT
![]() |
![]() |