1 / 13

Részletező csoportosítások

Részletező csoportosítások. 2012. 04.03. Rózsa Győző raver @ raver.myip.hu. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!. ROLLUP. GROUP BY résznél használjuk

kinsey
Download Presentation

Részletező csoportosítások

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Részletező csoportosítások 2012. 04.03. Rózsa Győzőraver@raver.myip.hu

  2. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!

  3. ROLLUP • GROUP BY résznél használjuk • Segítségével egy lekérdezésen belül egyszerűen juthatunk olyan adatokhoz, melyhez minimum két külön lekérdezést kellene írnunk

  4. ROLLUP - példa • Írjuk meg egy szkriptbe a következő lekérdezéseket: • SELECT job, deptno, avg(sal)FROM empGROUP BY job, deptno; • SELECT job, deptno, avg(sal)FROM empGROUP BY ROLLUP (job, deptno); • SELECT job, deptno, avg(sal)FROM empGROUP BY ROLLUP (deptno, job);

  5. DECODE fv használata (Ismétlés) • Mi van, ha szeretnénk kiírni, hogy a munkakörök átlagfizetése, illetve az összes átlagfizetés? • NVL fv segítségével megoldható lenne… • Nézzük meg, hogy milyen hibaüzenetet kapunk.

  6. DECODE fv használata - KÓD selectnvl(job,'Átlag') as Munkakör, DECODE(nvl(job,'x'), 'x', null, nvl(to_char(deptno), 'Munkakörösszes')) as részleg, avg(sal) asatlag fromemp groupbyrollup (job, deptno);

  7. CUBE operátor • Hasonló a ROLLUP-hoz, de minden kombinációt előállít, míg a ROLLUP csak az adott sorrendhez tartozót • Próbáljuk ki együtt a különbséget!

  8. GROUPING fv • Indikátor fv • Megmutatja, hogy csoportosítás a ROLLUP/CUBE fv-nél éppen melyik alapján készült • 1 az értéke, ha az adott sor felelős • 0 ha az adott sor nem felelős • GROUPING_ID fv-vel több oszlopot is nézhetünk

  9. GROUPING SETS fv • GROUP BY kiegészítése • Segítségével több szempont alapján is csoportosíthatunk

  10. select job, deptno, avg(sal) from emp group by job, deptno ORDER BY job; select job, deptno, avg(sal) from emp group by GROUPING SETS((job, deptno), (job)) ORDER BY job;

  11. Köszönöm a figyelmeteket!

More Related