Zurück zur Artikelliste Artikel
9 Leseminuten

Die SQL-Zeitmaschine: Wie Abfragen die Vergangenheit entschlüsseln (und die Zukunft vorhersagen)

SQL dient nicht nur zum Abrufen von Daten, sondern ist eine leistungsstarke Methode, um herauszufinden, was wann passiert ist. Ganz gleich, ob Sie Benutzeranmeldungen, Verkäufe oder Systemaktivitäten verfolgen - wenn Sie lernen, mit zeitbasierten Daten zu arbeiten, können Sie Muster aufdecken, Trends analysieren und intelligentere Entscheidungen treffen. Dieser einsteigerfreundliche Leitfaden zeigt Ihnen, wie Sie Ihre Daten sortieren, filtern und gruppieren, um die Vergangenheit zu verstehen und sich auf die Zukunft vorzubereiten.

Jeder Datensatz hat eine Geschichte - und die Zeit ist oft die Hauptfigur. Datumsangaben geben Auskunft darüber, wann sich ein Kunde angemeldet hat, wann ein Verkauf stattgefunden hat oder wann ein Produkt ausgeliefert wurde. Die Zeit verleiht den reinen Zahlen Bedeutung und Kontext. Ohne Zeitangabe können Sie zwar sehen , was passiert ist, aber nicht , wann oder wie oft - und das ist es, was aus reinen Daten echte Erkenntnisse werden lässt.

Stellen Sie sich zum Beispiel vor, Sie analysieren den Website-Verkehr oder die Verkaufsleistung. Die Gesamtzahl der Besuche oder Käufe mag für sich genommen beeindruckend sein, aber wenn Sie die Daten nach Datum aufschlüsseln, können Sie Muster erkennen: An Wochenenden sind die Besucherzahlen geringer, Kampagnen führen zu Spitzenwerten, und saisonale Trends zeichnen sich ab. Das ist die Art von Einblick, auf die sich Unternehmen verlassen, um bessere Entscheidungen zu treffen.

Wenn Sie neu in SQL sind, ist das Erlernen der Arbeit mit zeitbasierten Daten eine der wertvollsten Fähigkeiten, die Sie erwerben können. Hier beginnt die Analyse, sich real anzufühlen. Sie lernen, wie Sie Ergebnisse nach Datum sortieren, nach den letzten 30 Tagen filtern oder monatliche Aktivitäten vergleichen können - und das alles mit einfachen, verständlichen Abfragen.

Wenn Sie gerade erst anfangen, ist der Standard-SQL-Funktionen Kurs eine gute Möglichkeit, die Arbeit mit Daten und Zeiten zu erlernen. Er deckt alle Grundlagen des Filterns, Formatierens und Berechnens mit zeitbasierten Daten ab - Fähigkeiten, die Sie in fast jeder realen SQL-Abfrage verwenden werden.

Im Folgenden erfahren Sie, wie SQL Ihnen hilft, die Vergangenheit zu erforschen und wie Sie sich auf die Zukunft vorbereiten können.

Arbeiten mit Zeitspalten in SQL

Die meisten Datensätze enthalten zeitbezogene Spalten wie created_at, order_date oder login_time. Diese Spalten helfen Ihnen dabei, nachzuvollziehen, wann etwas passiert, und werden unter Verwendung bestimmter Datentypen gespeichert.

Hier sind die, mit denen Sie am häufigsten arbeiten werden:

  • DATE - Speichert nur das Kalenderdatum, wie '2025-10-09'. Ideal, wenn Sie nur den Tag und nicht die genaue Uhrzeit benötigen.
  • TIME - Speichert nur die Tageszeit, wie '14:33:00'. Nützlich für Dinge wie Ladenöffnungszeiten oder geplante Ereignisse am selben Tag.
  • DATETIME / TIMESTAMP - Speichert sowohl Datum als auch Uhrzeit, wie '2025-10-09 14:33:00'. Diese Typen sind ähnlich und werden je nach Datenbanksystem oft austauschbar verwendet. Verwenden Sie sie, wenn Sie den genauen Zeitpunkt eines Ereignisses aufzeichnen müssen.

In SQL werden Datums- und Zeitangaben in einem Standardformat geschrieben, damit die Datenbank sie verstehen kann. Das gebräuchlichste Format ist: JJJJ-MM-TT HH:MM:SS. Dies bedeutet:

  • YYYY = Jahr (z.B. 2025)
  • MM = Monat (z. B. 10 für Oktober)
  • DD = Tag (z. B. 09)
  • HH:MM:SS = Uhrzeit im 24-Stunden-Format (z. B. 14:33:00 bedeutet 2:33 PM)

Zum Beispiel:

  • '2025-10-09' ist ein Datum (9. Oktober 2025)
  • '14:33:00' ist eine Zeitangabe (2:33 PM)
  • '2025-10-09 14:33:00' ist ein vollständiges Datum und eine Uhrzeit

Beim Schreiben von Abfragen können Sie diese Werte direkt verwenden - sogenannte String-Literale -, um zeitbasierte Daten zu filtern oder zu vergleichen.

Selbst für Anfänger ist es hilfreich, zu wissen, wie man mit diesen Werten arbeitet, um nach der letzten Aktivität zu filtern, nach der Zeit zu sortieren und die Ergebnisse nach Tag oder Stunde zu gruppieren.

💡 Möchten Sie mit echten Daten üben? Probieren Sie unseren Standard-SQL-Funktionen Kurs, um die Verwendung von Datums- und Zeitwerten in Abfragen zu erlernen - keine Einrichtung erforderlich.

Daten nach Zeit ordnen

Wenn Sie mit zeitbasierten Daten arbeiten, ist es oft hilfreich, Ereignisse chronologisch zu sortieren - entweder vom frühesten zum spätesten oder umgekehrt. SQL macht dies mit der ORDER BY-Klausel einfach.

Nehmen wir an, Sie haben eine Verkaufstabelle mit einer Spalte sale_date. Sie können ORDER BY verwenden, um Ihre Ergebnisse nach dieser Datumsspalte zu sortieren und die Richtung der Zeitleiste zu steuern.

Ereignisse chronologisch anzeigen

Um am Anfang zu beginnen und die frühesten Verkäufe anzuzeigen, verwenden Sie ORDER BY sale_date ASC:

SELECT *
FROM sales
ORDER BY sale_date ASC;

Diese Abfrage sortiert die Ergebnisse in aufsteigender Reihenfolge - beginnend mit dem ältesten Datum und in zeitlicher Hinsicht vorwärts.

Beispielhafte Ausgabe:

sale_idproductamountsale_date
101Laptop950.002025-10-01 09:12:00
102Monitor210.002025-10-03 11:45:00
103Keyboard80.002025-10-07 12:05:00

Diese Ansicht ist hilfreich, wenn Sie nachverfolgen möchten, wie etwas angefangen hat, z. B. die ersten Verkäufe des Monats oder die ersten Benutzer, die sich angemeldet haben.

Die neuesten Datensätze zuerst anzeigen (absteigende Reihenfolge)

Um die neuesten Verkäufe zuerst anzuzeigen, verwenden Sie ORDER BY sale_date DESC:

SELECT *
FROM sales
ORDER BY sale_date DESC;

DESC steht für " absteigend", d. h. es wird vom neuesten Datum zum frühesten sortiert.

Beispielhafte Ausgabe:

sale_idproductamountsale_date
105Headphones120.002025-10-09 14:33:00
104Mouse45.002025-10-08 16:10:00
103Keyboard80.002025-10-07 12:05:00

Dies ist besonders nützlich, wenn Sie daran interessiert sind, was gerade passiert ist, z. B. die letzten Bestellungen, die letzten Anmeldungen oder die letzten Aktualisierungen.

Was ORDER BY bewirkt

Die ORDER BY Klausel sortiert die Zeilen in Ihrem Abfrageergebnis basierend auf einer oder mehreren Spalten.

  • Verwenden Sie ASC (aufsteigend), um von den frühesten zu den neuesten zu gelangen.
  • Verwenden Sie DESC (absteigend), um von den neuesten zu den frühesten zu gelangen.

Sie können ORDER BY für Zahlen, Text und Datumsangaben verwenden, aber bei der Arbeit mit der Zeit hilft es Ihnen zu verstehen , wie sich Daten im Laufe der Zeit entwickeln.

Das Sortieren ist eine der einfachsten Möglichkeiten, um Ihre Daten in eine Geschichte zu verwandeln.

&#128294 Möchten Sie es selbst ausprobieren? In unserem Standard-SQL-Funktionen Kurs lernen Sie, wie Sie Daten mithilfe von echten SQL-Abfragen und Beispielen aus der Praxis sortieren und filtern können - alles in Ihrem Browser, ohne Installation.

Filtern von Daten aus der Vergangenheit

Manchmal sind Sie nicht daran interessiert, was jetzt passiert - Sie möchten zurückblicken und vergangene Aktivitäten analysieren. Vielleicht beantworten Sie Fragen wie:

  • Was geschah während der Werbeaktion des letzten Monats?
  • Wie sah der Verkehr im 2. Quartal des letzten Jahres aus?
  • Wie sahen die Verkäufe aus, bevor wir unser neues Produkt eingeführt haben?

Mit SQL können Sie ganz einfach nach bestimmten Zeiträumen in der Vergangenheit filtern, indem Sie die WHERE Klausel und Datumsbedingungen verwenden.

Beispiel: Filter für einen festen Zeitraum in der Vergangenheit

Angenommen, Sie möchten alle Verkäufe finden, die im September 2025 stattfanden. So geht's:

SELECT *
FROM sales
WHERE sale_date >= '2025-09-01'
  AND sale_date < '2025-10-01';

Mit dieser Abfrage erhalten Sie alle Verkäufe vom 1. September bis zum 1. Oktober, aber nicht einschließlich. Dies ist ein gängiges SQL-Muster beim Filtern nach vollen Monaten.

Sie können die Daten anpassen, um sich darauf zu konzentrieren:

  • eine bestimmte Woche oder einen bestimmten Monat in der Vergangenheit
  • Ein vorheriges Quartal oder Jahr
  • Die Zeit vor einem bekannten Ereignis (z. B. Produkteinführung, Kampagne)

Beispiel: Filter für Aktivitäten vor einem bestimmten Datum

Angenommen, Sie möchten alles anzeigen , was vor dem 1. August 2025 passiert ist:

SELECT *
FROM sales
WHERE sale_date < '2025-08-01';

So erhalten Sie eine vollständige Ansicht der historischen Datensätze vor einem bestimmten Zeitpunkt.

Warum dies wichtig ist

Das Filtern nach vergangenen Ereignissen hilft Ihnen:

  • Analysieren von Trends im Zeitverlauf
  • Vergleich von früherer und aktueller Leistung
  • Messung der Auswirkungen von Änderungen (z. B. Preisgestaltung, Kampagnen, Produktaktualisierungen)

Dies ist die Grundlage für jede Analyse historischer Daten.

💡 Wie Sie diese Art von zeitbasierten Filtern schreiben können, erfahren Sie in unseren Umsatztrendanalyse in SQL Kursen.

Das Filtern und Sortieren nach Zeit ist hilfreich - wenn Sie jedoch Trends erkennen möchten, müssen Sie Ihre Daten nach sinnvollen Zeiträumen gruppieren: nach Monat, Woche oder Stunde.

In echten Datenbanken werden Zeitspalten wie sale_date oft als vollständige Zeitstempel und nicht nur als Datum gespeichert: 2025-10-07 12:05:00.

Wenn Sie versuchen, nach diesem vollständigen Zeitstempel zu gruppieren, könnte jede Zeile in einer eigenen Gruppe landen - weil die Zeit bis auf die Sekunde genau unterschiedlich ist.

Gruppierung nach Monat

Angenommen, Sie möchten zählen, wie viele Verkäufe in jedem Monat stattgefunden haben. Dann müssen Sie nur den Monat und das Jahr aus dem Zeitstempel extrahieren. So können Sie das tun:

In PostgreSQL:

SELECT DATE_TRUNC('month', sale_date) AS month,
       COUNT(*) AS total_sales
FROM sales
GROUP BY DATE_TRUNC('month', sale_date)
ORDER BY month;

In MySQL:

SELECT DATE_FORMAT(sale_date, '%Y-%m') AS month,
       COUNT(*) AS total_sales
FROM sales
GROUP BY DATE_FORMAT(sale_date, '%Y-%m')
ORDER BY month;

Beispielhafte Ausgabe:

monthtotal_sales
2025-07310
2025-08420
2025-09380

Auf diese Weise erhalten Sie ein viel klareres Bild davon, wie sich die Umsätze im Laufe der Zeit verändern - Monat für Monat -, ohne dass Sie von zu vielen Details überwältigt werden.

Warum das wichtig ist

Die Gruppierung nach Monat (oder Woche oder Stunde) hilft Ihnen:

  • Verfolgen von Trends im Laufe der Zeit
  • die Leistung über verschiedene Zeiträume hinweg zu vergleichen
  • Hoch- und Tiefpunkte in der Aktivität zu erkennen
  • Aufbereitung von Daten für Diagramme und Berichte

Sie werden diese Technik ständig in der Praxis bei der Erstellung von Berichten und Dashboards verwenden.

?? Möchten Sie echte Abfragen wie diese üben? Unser Umsatztrendanalyse in SQL Kurs zeigt Ihnen, wie Sie nach Zeitintervallen gruppieren und echte Geschäftsdaten untersuchen, um Muster zu erkennen.

An dieser Stelle wird es interessant. Wenn Sie anfangen, Muster in Ihren historischen Daten zu erkennen, wie z. B. eine wöchentliche Spitze bei den Benutzeranmeldungen oder saisonale Veränderungen bei den Käufen, berichten Sie nicht mehr nur über die Vergangenheit. Sie fangen an vorherzusagen, was als nächstes passieren könnte.

Dies ist der Beginn der Trendanalyse. Und auch wenn tiefergehende Prognosen in der Regel mit BI-Tools oder Programmiersprachen wie Python erstellt werden, beginnt alles mit soliden SQL-Abfragen.

Je besser Sie die Arbeit mit zeitbasierten Daten beherrschen, desto sicherer werden Sie in Ihrer Analyse.

Erforschen Sie die Vergangenheit (und Zukunft) mit SQL

Mit SQL haben Sie nicht nur Zugriff auf Daten, sondern auch auf eine Zeitleiste. Sie können zurückblicken auf das, was gestern, letzten Monat oder letztes Jahr passiert ist. Sie können Ereignisse gruppieren, Trends erkennen und sogar schon vorhersagen, was als Nächstes kommt.

Und das Beste daran? Sie brauchen keine Zeitmaschine, sondern nur ein paar gut formulierte Abfragen.

Wenn Sie bereit sind, diese Fähigkeiten zu üben, bietet LearnSQL.de interaktive Kurse an, die Sie Schritt für Schritt durch zeitbasierte Abfragen führen:

  • Standard-SQL-Funktionen - Lernen Sie, wie Sie mit Datumsangaben, Uhrzeiten, Text und Zahlen arbeiten, indem Sie die integrierten SQL-Funktionen verwenden - perfekt für die Bearbeitung und Analyse von zeitbasierten Daten.
  • Umsatztrendanalyse in SQL - Entdecken Sie, wie Sie Veränderungen von Monat zu Monat, Wachstumsraten und kumulierte Umsätze anhand echter Geschäftsdaten berechnen können.
  • Kundenverhaltensanalyse in SQL - Analysieren Sie, wie sich Nutzer im Laufe der Zeit verhalten - von den ersten Käufen bis hin zu langfristigen Aktivitäten - und gewinnen Sie Einblicke, die zu intelligenteren Entscheidungen führen.

Alle Kurse sind einsteigerfreundlich, browserbasiert und so konzipiert, dass Sie SQL in realen Szenarien anwenden können - eine Einrichtung ist nicht erforderlich.

Sind Sie bereit, die Vergangenheit zu erforschen (und vielleicht sogar die Zukunft vorherzusagen)?