Ich habe eine einfache Tabelle wie unten mit vielen IDs und Daten.Zählen Sie einzigartige IDs in einem rollenden Zeitrahmen
ID Date
10R46 2014-11-23
10R46 2016-04-11
100R9 2016-12-21
10R91 2013-05-03
... ...
Ich mag eine Abfrage formulieren, die für einen Walzzeitrahmen von Daten, um die eindeutige IDs zählt zehn Tage zum Beispiel. Das bedeutet, dass es für jedes Datum die Anzahl der eindeutigen IDs zwischen diesem Datum und 10 Tagen zurück geben sollte. Das Ergebnis sollte ungefähr so aussehen.
UniqueTenDays Date
200 2014-11-23
324 2014-11-24
522 2014-11-25
532 2014-11-26
... ...
Etwas nach dem Vorbild des Balgs aber ich merke, ich brauche die WHERE-Klausel anzuwenden und die IDs für jedes Datum irgendwie zu zählen.
SELECT Date, COUNT(DISTINCT ID)
FROM T
WHERE Date BETWEEN DATE_SUB(Date, INTERVAL 10 DAY) AND Date
GROUP BY Date
ORDER BY Date
Vielen Dank im Voraus.
Ihnen sehr Mikhail danken, das funktioniert großartig. Du hast mir definitiv eine Menge neuer Konzepte vorgestellt, die ich in der letzten Stunde gelesen habe, aber alles macht Sinn. – ErikK