Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Over partition by help

user8021820Feb 17 2011 — edited Feb 17 2011
Hi,
I've this query:

SELECT id_utente, cognome, SUM (bo) bo, SUM (pt) pt, SUM (rio) rio,
SUM (inc) inc, SUM (xs) xs, SUM (ri) ri,
SUM (bo) + SUM (pt) + SUM (rio) + SUM (inc) + SUM (xs)
+ SUM (ri) tot
FROM (SELECT id_referente, id_utente, cognome,
SUM (DECODE (cod_macrostato, 'GB', 1, 0)) bo,
SUM (DECODE (cod_macrostato, 'PT', 1, 0)) pt,
SUM (DECODE (cod_macrostato, 'RIO', 1, 0)) rio,
SUM (DECODE (cod_macrostato, 'IN', 1, 0)) inc,
SUM (DECODE (cod_macrostato, 'SC', 1, 0)) xs,
SUM (DECODE (cod_macrostato, 'RS', 1, 0)) ri
FROM v_mcre0_app_elenco_pos
WHERE id_utente IS NOT NULL
GROUP BY id_referente, id_utente, cognome)
GROUP BY id_utente, cognome

that we have improve using over partition by so:

select distinct ID_REFERENTE,ID_UTENTE,COGNOME,
SUM(DECODE(COD_MACROSTATO,'GB',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) a,
SUM(DECODE(COD_MACROSTATO,'PT',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) b,
SUM(DECODE(COD_MACROSTATO,'RION',1, 0))over( partition by ID_REFERENTE,ID_UTENTE,COGNOME) c,
SUM(DECODE(COD_MACROSTATO,'IN',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) d,
SUM(DECODE(COD_MACROSTATO,'SC',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) e,
sum(decode(cod_macrostato,'RI',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) f
from V_MCRE0_APP_ELENCO_POS
where ID_UTENTE is not null

My question is know if is possible optimize with only one "over partition by" like:

select distinct ID_REFERENTE,ID_UTENTE,COGNOME,
SUM(DECODE(COD_MACROSTATO,'GB',1, 0)),
SUM(DECODE(COD_MACROSTATO,'PT',1, 0)) over ( partition by ID_REFERENTE,ID_UTENTE,COGNOME) b
...
...
...


It's possible?

Thanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 17 2011
Added on Feb 17 2011
2 comments
969 views