Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Analitikus, statisztikai és szélsőérték fv-k 2012. 04.17. Rózsa Győző

Hasonló előadás


Az előadások a következő témára: "Analitikus, statisztikai és szélsőérték fv-k 2012. 04.17. Rózsa Győző"— Előadás másolata:

1 Analitikus, statisztikai és szélsőérték fv-k 2012. 04.17. 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 Analitikus fv-k • Ezek a fv-k nincsenek az SQL nyelvben • Új fv család • 3 nagy csoport – RANG – Statisztikai – Hisztogram

4 Általános felépítés Fv_neve( [paraméter] ) OVER ( záradék ) • Mindig a SELECT utasításrészben találhatóak • A paraméter tetszőleges oszlopkifejezés lehet • Az OVER záradék elhagyható

5 A záradék bővebben ([partíció tag] [rendező tag[ablak-tag]]) • Tulajdonképpen a munkaterületet jelöli ki az analitikus záradék • Partíció tag: Egy munkatábla munkaterületén összefüggő táblatartományokat képezhetünk, ahol az oszlopkifejezések értéke azonos • Rendező tag: ORDER BY • Ablak tag: lehet fizikai vagy logikai

6 RANG fv-k • Over opcióval ellátott – RANK – DENSE_RANK – PERCENT_RANK • Nem tartalmaznak ablak tagot, és paraméterlistájuk üres

7 Példa SELECT ename as nev, sal as fizu, RANK() OVER (Order by sal DESC) as normr, DENSE_RANK() OVER (Order by sal DESC) as tomor, PERECENT_RANK() OVER (Order by sal DESC) as szaz FROM emp;

8 Aggregáló RANG fv-k • OVER helyett WITHIN GROUP opcióval vannak ellátva • Nem is analitikus fv-k • A paraméterlista már nem üres • Mi lenne, ha... típusu feladatok

9 Példa • Felvennénk egy új dolgozót, Jani bátyát. • Írjunk egy szkriptet, mely megmondja, hogy egy adott fizu esetén, hányadik legtöbbet kereső emberke lenne? • Magyarán kérjünk be egy fizetést, és nézzük meg, hogy hányadik lenne a rangsorban…

10 Példa - megoldás ACCEPT fizu PROMPT ’Fizu: ’; SELECT ’rangsora’ as Kérdés, RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Normrang, DENSE_RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Tomorrang, PERCENT_RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Szrang FROM emp;

11 Statisztikai analitikus fv-k • Hagyományos stat fv-knek létezik analitikus alakja. • Kis ébresztő: Kisötösért (kisplusz) mondjon valaki 3at) • Használata: fv_neve (paraméter/ALL/DISTINCT) OVER ( záradék )

12 Példa • SELECT ename, job, SUM(sal) OVER (ORDER BY sal ASC) as ”Kumulalt” FROM emp;

13 RATIO_TO_REPORT • RATIO_TO_REPORT(kifejezés) OVER ( partíció tag) • Kiszámítja az érték a és a csoportösszeg közötti arányt • (Részesedés) • Írjuk meg, hogy ki milyen arányban részesedik az összfizetésből

14 Példa • SELECT ename as nev, sal as fizu, RATIO_TO_REPORT(sal) OVER () as részesedés FROM emp ORDER BY sal DESC;

15 FIRST_VALUE/LAST_VALUE • Hasonló mint a MIN/MAX • De ablaktartományokban is használhatóak • Alakja: FIRST_VALUE/LAST_VALUE(kifejezés) OVER (analitikus utasításrész)

16 Hisztogram fv-k • WIDTH_BUCKET – WIDTH_BUCKET(oszlopkifejezés, alsóhatár, felsőhatár, szeletek száma) – Nem is analitikus függvény • Csináljunk 4 fizetési kategóriát, és listázzuk ki, hogy ki hova tartozik. • SELECT ename, sal, WIDTH_BUCKET(sal, 800, 5001, 4) as kategoria FROM emp ORDER BY kategoria;

17 NTILE függvény • Hasonló mint a WIDTH_BUCKET, de itt a hisztogram azonos magasságú, és a szélesség különbözik • Használata: NTILE(kifejezés) OVER ([Partíció] Rendező tag) Pl.:SELECT ename, sal, NTILE(3) OVER (order by sal DESC) as kategoria FROM emp;

18 Köszönöm a figyelmeteket!


Letölteni ppt "Analitikus, statisztikai és szélsőérték fv-k 2012. 04.17. Rózsa Győző"

Hasonló előadás


Google Hirdetések