SELECT, WHERE, GROUP BY
Aggregieren Sie Kampagnendaten.
SELECT, WHERE, GROUP BY ist eine kostenlose Digital Marketing Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Digital Marketing Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Digital Marketing Academy-Kurs umfasst insgesamt 4 Lektionen.
Die drei Verben
Fast jede Marketingkennzahl basiert auf drei Klauseln: SELECT wählt Spalten aus, WHERE filtert Zeilen und GROUP BY fasst Zeilen zu Segmenten zusammen.
Beherrschen Sie dieses Trio, können Sie die meisten alltäglichen Analysefragen selbst beantworten.
SELECT channel, SUM(revenue) AS revenue
FROM orders
GROUP BY channel;SELECT: Spalten auswählen
SELECT legt fest, was zurückgegeben wird. Mit AS können Sie Spalten umbenennen, damit die Ausgabe besser lesbar ist, und direkt in der Abfrage neue Werte berechnen.
Halten Sie Ergebnismengen schlank: Rufen Sie nur die Spalten ab, die Sie tatsächlich benötigen, besonders bei großen Tabellen.
SELECT campaign_id AS campaign,
spend,
spend * 1.2 AS spend_with_fees
FROM campaigns;WHERE: Zeilen filtern
WHERE behält nur Zeilen, die eine Bedingung erfüllen. Kombinieren Sie Bedingungen mit AND und OR, um ein Segment genau einzugrenzen.
Datumsfilter gehören zum täglichen Brot von Marketern, weil sie den Berichtszeitraum präzise festlegen.
SELECT *
FROM sessions
WHERE channel = 'email'
AND session_date >= DATE '2026-01-01'
AND device = 'mobile';Mit IN und BETWEEN filtern
IN sucht nach jedem Wert in einer Liste und eignet sich hervorragend für mehrere Kampagnen gleichzeitig. BETWEEN erfasst einen Bereich und ist ideal für Zeiträume.
So bleiben komplexe Filter kurz und lesbar, statt aus langen Ketten von OR zu bestehen.
SELECT order_id, revenue
FROM orders
WHERE channel IN ('paid_search', 'paid_social')
AND order_date BETWEEN DATE '2026-03-01' AND DATE '2026-03-31';GROUP BY: Segmentieren
GROUP BY fasst Zeilen mit demselben Wert zu einer Zeile pro Gruppe zusammen. Kombinieren Sie es mit Aggregatfunktionen wie SUM, COUNT und AVG, um Kennzahlen für die einzelnen Segmente zu erhalten.
So verwandeln Sie Rohereignisse in eine Leistungstabelle nach Kanal.
SELECT channel,
COUNT(*) AS sessions,
SUM(revenue) AS revenue
FROM sessions
GROUP BY channel;Aggregatfunktionen
SUM summiert den Umsatz, COUNT zählt Ereignisse, AVG berechnet den Mittelwert und COUNT(DISTINCT ...) zählt eindeutige Nutzer.
Eindeutige Zählungen sind im Marketing wichtig: Die Gesamtzahl der Sitzungen und die Zahl der eindeutigen Besucher sind sehr unterschiedliche Werte.
SELECT campaign_id,
COUNT(*) AS clicks,
COUNT(DISTINCT user_id) AS reach,
AVG(revenue) AS avg_order
FROM orders
GROUP BY campaign_id;Gruppieren nach mehreren Spalten
Gruppieren Sie nach mehr als einer Spalte, um eine Matrix zu erstellen, etwa nach Kanal und Gerät. Jede eindeutige Kombination wird zu einer eigenen Zeile.
So erhalten Sie eine tiefere Segmentierung, ohne etwas in eine Tabellenkalkulation exportieren zu müssen.
SELECT channel, device,
COUNT(*) AS sessions
FROM sessions
GROUP BY channel, device
ORDER BY channel, sessions DESC;HAVING: Gruppen filtern
WHERE filtert Zeilen vor der Gruppierung; HAVING filtert die Gruppen nach der Aggregation. Verwenden Sie HAVING, um nur Segmente über einem Schwellenwert beizubehalten.
Zeigen Sie beispielsweise nur Kampagnen an, die mehr als 100 Bestellungen generiert haben.
SELECT campaign_id, COUNT(*) AS orders
FROM orders
GROUP BY campaign_id
HAVING COUNT(*) > 100
ORDER BY orders DESC;Sortieren und Begrenzen
ORDER BY sortiert die Ergebnisse, sodass die wichtigsten Zeilen zuerst erscheinen. LIMIT begrenzt die Anzahl der angezeigten Zeilen und eignet sich ideal für Top-N-Berichte.
Zusammen beantworten sie sofort die Frage: „Was sind meine fünf umsatzstärksten Kampagnen?“
SELECT campaign_id, SUM(revenue) AS revenue
FROM orders
GROUP BY campaign_id
ORDER BY revenue DESC
LIMIT 5;Bedingte Aggregation
FILTER (oder CASE innerhalb einer Aggregatfunktion) ermöglicht es einer Abfrage, mehrere bedingte Kennzahlen gleichzeitig zu berechnen, etwa den Umsatz von Neukunden im Vergleich zu wiederkehrenden Kunden.
So vermeiden Sie mehrere Abfragen und halten die Segmente perfekt aufeinander abgestimmt.
SELECT channel,
SUM(revenue) FILTER (WHERE is_new_customer) AS new_rev,
SUM(revenue) FILTER (WHERE NOT is_new_customer) AS repeat_rev
FROM orders
GROUP BY channel;Alles zusammenführen
Eine vollständige Abfrage kombiniert alle Klauseln: Sie filtert Zeilen mit WHERE, gruppiert sie, filtert Gruppen mit HAVING und sortiert und begrenzt anschließend die Ergebnisse.
Lesen Sie sie von oben nach unten: So erzählt sie eine vollständige analytische Geschichte über Ihre Kanäle.
SELECT channel, SUM(revenue) AS revenue
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY channel
HAVING SUM(revenue) > 1000
ORDER BY revenue DESC;Kurztest
Sie möchten nur Kampagnengruppen mit mehr als 50 Bestellungen. Welche Klausel filtert aggregierte Gruppen?
Zusammenfassung
SELECT wählt Spalten aus, WHERE filtert Zeilen, GROUP BY bildet Segmente, HAVING filtert Gruppen und ORDER BY zusammen mit LIMIT formt die Ausgabe.
Mit bedingter Aggregation berechnen Sie mehrere Kennzahlen in einem Durchlauf. Als Nächstes: Daten aus mehreren Tabellen mit JOINs kombinieren.
Häufig gestellte Fragen
Ist die Lektion „SELECT, WHERE, GROUP BY“ kostenlos?
Ja — der vollständige Text von „SELECT, WHERE, GROUP BY“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Digital Marketing Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Digital Marketing Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „SELECT, WHERE, GROUP BY“?
Aggregieren Sie Kampagnendaten. Du übst Digital Marketing Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Digital Marketing Academy zu starten?
Keine Vorkenntnisse erforderlich. Digital Marketing Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „SELECT, WHERE, GROUP BY“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Digital Marketing Academy-Lektion Code schreiben und ausführen?
Ja. Jede Digital Marketing Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum Marketer SQL lernen
- SELECT, WHERE, GROUP BY
- Marketingtabellen verknüpfen
- Kohorten- und Trichterabfragen