modul:m290_guko:learningunits:lu10:theorie:a_einfuehrung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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] gkochmodul: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 für Polizei/Medien) +  * **Datenanalyse & Reporting** – Beispiel (Einbrüche ZH): Wie viele Fälle gab es pro Jahr? 
-  * **Business Intelligence** (TrendsHotspots je Gemeinde/Jahr+    * **Nutzen:** Klare Jahreskurven für **Berichte**, **Dashboards** und **Kurzstatements** (z. B. für Polizei/Medien). 
-  * **Produkt-/WebIntegration** (APIs liefern Rohdaten → Aggregation im Backend/SQL spart App‑Logik+  * **Business Intelligence (BI)** – Beispiel (Einbrüche ZH): Welche Gemeinden haben im Schnitt höhere Raten? 
-  * **Entscheidungsgrundlagen** (Ressourcen planen, Präventionsmassnahmen priorisieren)+    * **Nutzen:** **Prioritäten** setzen (PräventionskampagnenRessourceneinsatz, Fokus-Orte). 
 +  * **Produkt-/Web-Integration** – //APIs liefern Rohdaten, Apps brauchen Kennzahlen// Beispiel (YouTube Top 100): Gesamt-Views je Channel → SUM(view_count) pro Channel; durchschnittliche Videolänge → AVG(duration) pro Channel. 
 +    * **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 3100 +2023 Einschleichdiebstahl 1961 
-2020 Einschleichen 1425 +2024 Einbruchdiebstahl 5956 
-2021 Einbruch 3250 |+2024 Einbrüche insgesamt 7998 | 
 +... etc.
 </WRAP> </WRAP>
  
  
-===== 3. HAVING – Gruppen gezielt filtern =====+===== 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; </code> ORDER BY total_faelle DESC; </code>
 **Ergebnis (Auszug)** **Ergebnis (Auszug)**
 ^ ausgangsjahr ^ total_faelle ^ ^ ausgangsjahr ^ total_faelle ^
-2013 6240 +2009 29972 
-| 2012 | 6115 |+| 2012 | 28730 | 
 +| 2010 | 26770 |
 </WRAP> </WRAP>
  
  
  
  • modul/m290_guko/learningunits/lu10/theorie/a_einfuehrung.1762384009.txt.gz
  • Zuletzt geändert: 2025/11/06 00:06
  • von gkoch