Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu10:theorie:a_einfuehrung [2025/11/06 00:06] – gkoch | modul:m290_guko:learningunits:lu10:theorie:a_einfuehrung [2025/11/06 00:18] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 24: | Zeile 24: | ||
| === Wozu braucht man das? === | === Wozu braucht man das? === | ||
| - | * **Datenanalyse & Reporting** (z.B. Lageberichte | + | * **Datenanalyse & Reporting** – Beispiel (Einbrüche ZH): Wie viele Fälle gab es pro Jahr? |
| - | * **Business Intelligence** (Trends, Hotspots je Gemeinde/ | + | * **Nutzen:** Klare Jahreskurven für **Berichte**, |
| - | * **Produkt-/ | + | * **Business Intelligence |
| - | * **Entscheidungsgrundlagen** (Ressourcen planen, Präventionsmassnahmen priorisieren) | + | * **Nutzen:** **Prioritäten** setzen (Präventionskampagnen, Ressourceneinsatz, |
| + | * **Produkt-/ | ||
| + | * **Nutzen:** Das **Backend** liefert fertige Kennzahlen; die **Frontend-Logik** bleibt schlank und schnell. | ||
| Zeile 143: | Zeile 145: | ||
| **Ergebnis (Auszug)** | **Ergebnis (Auszug)** | ||
| ^ ausgangsjahr ^ tatbestand ^ total_faelle ^ | ^ ausgangsjahr ^ tatbestand ^ total_faelle ^ | ||
| - | | 2020 | Einbruch | + | | 2023 | Einschleichdiebstahl |
| - | | 2020 | Einschleichen | + | | 2024 | Einbruchdiebstahl |
| - | | 2021 | Einbruch | + | | 2024 | Einbrüche insgesamt |
| + | ... etc. | ||
| </ | </ | ||
| - | ===== 3. HAVING – Gruppen | + | ===== 3. HAVING – Gruppen filtern ===== |
| WHERE kann **keine** Aggregatfunktionen enthalten. Wenn Sie **Ergebnisgruppen** (nach GROUP BY) filtern wollen, verwenden Sie **HAVING**. | WHERE kann **keine** Aggregatfunktionen enthalten. Wenn Sie **Ergebnisgruppen** (nach GROUP BY) filtern wollen, verwenden Sie **HAVING**. | ||
| <WRAP round 80% box center> | <WRAP round 80% box center> | ||
| - | **Jahre mit über 5'000 Fällen insgesamt** <code sql> | + | **Jahre mit über 25'000 Fällen insgesamt** <code sql> |
| SELECT ausgangsjahr, | SELECT ausgangsjahr, | ||
| SUM(straftaten_total) AS total_faelle | SUM(straftaten_total) AS total_faelle | ||
| FROM zh_einbrueche.einbrueche | FROM zh_einbrueche.einbrueche | ||
| GROUP BY ausgangsjahr | GROUP BY ausgangsjahr | ||
| - | HAVING SUM(straftaten_total) > 5000 | + | HAVING SUM(straftaten_total) > 25000 |
| ORDER BY total_faelle DESC; </ | ORDER BY total_faelle DESC; </ | ||
| **Ergebnis (Auszug)** | **Ergebnis (Auszug)** | ||
| ^ ausgangsjahr ^ total_faelle ^ | ^ ausgangsjahr ^ total_faelle ^ | ||
| - | | 2013 | 6240 | | + | | 2009 | 29972 | |
| - | | 2012 | 6115 | | + | | 2012 | 28730 | |
| + | | 2010 | 26770 | | ||
| </ | </ | ||