Erste SchritteKostenlos loslegen

COUNT und CASE WHEN mit mehreren Bedingungen

In R oder Python kannst du eine Summe (SUM) von logischen Werten (z. B. TRUE/FALSE) direkt berechnen. In SQL musst du diese Werte in 1 und 0 umwandeln, bevor du eine Summe berechnen kannst. Dies kann mit einer CASE-Anweisung geschehen.

Es gibt einen entscheidenden Unterschied zwischen der Verwendung von SUM zum Aggregieren logischer Werte und der Verwendung von COUNT in der vorherigen Übung …

Dein Ziel ist es, mithilfe der Tabellen country und match die Gesamtzahl der von der Heimmannschaft gewonnenen Spiele in den Spielzeiten 2012/2013, 2013/2014 und 2014/2015 in jedem Land zu ermitteln.

Diese Übung ist Teil des Kurses

Datenmanipulation in SQL

Kurs anzeigen

Anleitung zur Übung

  • Erstelle drei CASE-Anweisungen, um die Spiele in den Saisons '2012/2013', '2013/2014' und '2014/2015' zu „summieren“.
  • Lasse jede CASE-Anweisung eine 1 für jedes Spiel zurückgeben, das du einschließen willst, und eine 0 für jedes Spiel, das du ausschließen willst.
  • Schließe die CASE-Anweisung in eine SUM-Anweisung ein, um die Gesamtzahl der Spiele in jeder Saison zurückzugeben.
  • Gruppiere die Abfrage nach dem Ländernamen-Alias.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

SELECT 
	c.name AS country,
    -- Sum the total records in each season where the home team won
	___(___ ___ m.season = '2012/2013' AND m.home_goal ___ m.away_goal 
        THEN ___ ELSE ___ ___) AS matches_2012_2013,
 	___(___ ___ m.season = '2013/2014' ___ ___ ___ ___ 
        THEN ___ ___ 0 ___) AS matches_2013_2014,
	___(___ ___ m.season = ___ ___ ___ ___ ___ 
        ___ 1 ___ 0 ___) AS matches_2014_2015
FROM country AS c
LEFT JOIN match AS m
ON c.id = m.country_id
-- Group by country name alias
GROUP BY ___;
Bearbeiten und Ausführen von Code