Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2.

Podobné prezentace


Prezentace na téma: "AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2."— Transkript prezentace:

1 AGREGACE Distinct, Group By, Having, SUM, …

2 DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2 FrantišekNovák3 SELECT DISTINCT jméno FROM lidé Jméno František Josef

3 LIMIT (TOP)  Omezení počtu řádků ve výsledku AGREGACE 3 SELECT nazev FROM obce ORDER BY obyvatele LIMIT 10 Jen deset řádků SELECT nazev FROM obce ORDER BY obyvatele LIMIT 10 OFFSET 20 Jen deset řádků, začínáme od dvacátého

4 SESKUPOVÁNÍ DAT GROUP BY, HAVING AGREGACE 4

5 GROUP BY  Umožňuje získávat souhrnné výsledky dat podle nějakých kritérií.  Říká: vezmi výsledky SELECTu, dej je dohromady podle těchto sloupečků a pak získej následující informace.  Nemá smysl použít GROUP BY bez agregačních funkcí v seznamu sloupců.  Na vypočítávané sloupce nelze použít WHERE. AGREGACE 5

6 AGREGAČNÍ FUNKCE  COUNT (sloupec) - počet neprázdných řádků v daném sloupci, lze použít (*)  SUM (sloupec) - součet všech hodnot ve sloupci  AVG (sloupec) - průměr hodnot ve sloupci  MAX (sloupec) – největší hodnota ve sloupci  MIN (sloupec) – nejmenší hodnota ve sloupci AGREGACE 6

7 PŘÍKLAD: POČET LIDÍ SE JMÉNEM AGREGACE 7 IDJménoPříjmení 0FrantišekVomáčka 1JanPokorný 2FrantišekČerný 3JanaPokorná SELECT Jméno, COUNT(Jméno) FROM Lidé GROUP BY Jméno JménoCount(Jméno) František2 Jan1 Jana1

8 AS  Sloupce s agregacemi se špatně zpracovávají  Je vhodné je přejmenovat pomocí AS AGREGACE 8 SELECT Jméno, COUNT(Jméno) AS Počet FROM Lidé GROUP BY Jméno JménoPočet František2 Jan1 Jana1

9 HAVING  Restrikce na sloupce s vypočítávanou (agregovanou) hodnotou AGREGACE 9 IDJménoPříjmení 0FrantišekVomáčka 1JanPokorný 2FrantišekČerný 3JanaPokorná SELECT Jméno, COUNT(Jméno) AS Počet FROM Lidé GROUP BY Jméno HAVING Počet > 1 JménoPočet František2

10 POŘADÍ ČÁSTÍ SELECT 1.SELECT 2.FROM (JOIN) 3.WHERE 4.GROUP BY 5.HAVING 6.ORDER BY 7.(LIMIT) AGREGACE 10

11 VYHODNOCENÍ SELECTU 1.Sestaví se všechny řádky a všechny sloupce na všech tabulkách (kartézský součin) 2.Omezí se sloupce 3.Omezí se řádky WHERE 4.Provede se GROUP BY 5.Vypočítají se agregované sloupce 6.Omezí se přes HAVING 7.Řádky se seřadí pomocí ORDER BY AGREGACE 11


Stáhnout ppt "AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2."

Podobné prezentace


Reklamy Google