1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Manipulace s daty v SQL

Connected

Cvičení

Použití CASE a AVG pro výpočet zlomků

CASE výrazy vrátí libovolnou hodnotu, kterou zadáš v klauzuli THEN. Ve spojení s agregačními funkcemi jde o nesmírně silný nástroj pro výpočty a práci s daty. Jednou z klíčových technik je použití CASE uvnitř funkce AVG, díky kterému můžeš spočítat podíl určitých záznamů v databázi.

Takhle vypadá základní struktura:

AVG(CASE WHEN condition_is_met THEN 1
         WHEN condition_is_not_met THEN 0 END)

Při tomto přístupu je důležité přesně určit, které záznamy se počítají jako 0 – jinak výsledky nebudou správné!

Tvým úkolem je zjistit počet výher, proher a remíz v každé zemi. Tabulka matches je filtrována tak, aby obsahovala pouze zápasy ze sezón 2013/2014 a 2014/2015.

Pokyny

100 XP
  • Uvnitř funkce AVG() dokonči CASE výraz tak, že ověříš, jestli m.home_goal není rovno m.away_goal, a přiřadíš hodnotu 0, pokud je tato podmínka splněna.
  • Zopakuj tento postup pro porovnání domácích a venkovních gólů v sezóně '2014/2015' a výsledek pojmenuj aliasem ties_2014_2015.