Příklady - 6. Přednáška Databáze https://is.muni.cz/auth/el/1421/podzim2018/VIKBB68/um/06_prednaska/muni.sqlite 1. Kolik mají jednotlivé fakutly rozpocet 2. Jaký je počet lidí v jednotlivých budovách jednotlivých fakult. 3. Jaký je rozpočet na jednoho člověka na fakultách, která začínají na “F”, seřazeno od nejvyššího po nejnižší Řešení: 1. SELECT fakulta, SUM(rozpocet) FROM 'fakulty' GROUP BY fakulta 2. SELECT fakulta, budova, SUM(pocet_lidi) FROM 'fakulty' GROUP BY fakulta, budova 3. SELECT fakulta, SUM(rozpocet)/SUM(pocet_lidi) as rozpocet_na_cloveka FROM 'fakulty' WHERE fakulta LIKE “f%” GROUP BY fakulta ORDER BY rozpocet_na_cloveka DESC Databáze https://is.muni.cz/auth/el/1421/podzim2018/VIKBB68/um/06_prednaska/fund-aktualni.sqlite 1. Zobrazte všechny příspěvky (jméno, datum příspěvku a jeho hodnota) od dárců předrevolučních ročníků. 2. Který z dárců přispěl nejvíce peněz v květnu 2013? 3. Zobrazte dárce, kteří příspěli alespoň 122x skrze Řešení: 1. SELECT jmeno, datum, castka FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE rocnik < 1989 2. 3. SELECT STRFTIME("%Y-%m", datum), jmeno, SUM(castka) FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE STRFTIME("%Y-%m", datum) = "2013-05" GROUP BY STRFTIME("%Y-%m", datum), jmeno ORDER BY SUM(castka) DESC LIMIT 1 způsobu, jak vybrat květen je více, viz slidy z předminulé přednášky. Skrze aliasy sloupečků můžeme dotaz zjednodušit​: SELECT STRFTIME("%Y-%m", datum) as mesic, jmeno, SUM(castka) as suma FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE mesic = "2013-05" GROUP BY mesic, jmeno ORDER BY suma DESC LIMIT 1 3. SELECT jmeno, COUNT(*) as pocet FROM donori JOIN prispevky ON donori.id = prispevky.donor WHERE zdroj = "web" GROUP BY jmeno, zdroj HAVING pocet >= 122