Ich habe eine Tabelle, die eine Reihe von Spalten enthält, von denen eine Datumsspalte ist.
Ich muss zählen, wie viele Vorkommen der Werte dieser Spalte sich auf denselben Monat beziehen. Und zurückgeben, wenn für einen Monat diese Zahl mehr als 3 beträgt.
Zum Beispiel:
%Vor%Dies muss keinen Wert zurückgeben. Weil es nicht die notwendige Anzahl von Wiederholungen hat.
Aber das tut es:
%Vor%Für den Novembermonat.
Ist für eine Oracle DB.
Dieses Beispiel hilft:
%Vor%Sie können sehen, dass Nov-09 der einzige Monat ist, der mehr als 3 Ereignisse hat.
Zurück zu Ihrer ursprünglichen Frage, die war und zurückkehrt, wenn für einen Monat mehr als 3 Punkte zählen. Das folgende SQL-Aggregat funktioniert.
%Vor%Alternativ verwenden Sie to_char, um den Datumstyp wie folgt in ein Zeichen mit einem MON-YYYY-Bild zu konvertieren:
%Vor%Idealerweise sollten Sie eine gespeicherte Prozedur erstellen, die die zwei Kriterien akzeptiert, die Sie benötigen: Monat (ganze Zahl) und Grenze (ganze Zahl)
In einer parametrisierten Prozedur, die das folgende ausführt
%Vor%Um auch den relevanten Monat auszugeben, können Sie folgendes verwenden:
%Vor%Ich bin mir nicht sicher, welche Datenbank Sie verwenden.
In MySQL wird die Abfrage der von @THEn
Auf SQL Server haben Sie andere interessante Möglichkeiten.
Lesen Sie den Artikel für weitere Details .
Sie können die EXTRACT-Methode von Oracle verwenden:
%Vor%Ich habe momentan keine Oracle-Datenbank zur Hand, daher funktioniert dieser Code möglicherweise nicht so, wie ich bin - ich entschuldige mich dafür.
Tags und Links sql oracle date-manipulation