SQL Count für eine Datumsspalte

8

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.

    
Sheldon 03.03.2010, 23:18
quelle

9 Antworten

7
%Vor%     
THEn 03.03.2010, 23:27
quelle
3
%Vor%     
Gary Myers 04.03.2010 02:09
quelle
1

Also, wenn 3 Farben 1999-01-xx enthalten, wollen Sie das holen?

%Vor%

Wenn Sie alle Zeilen benötigen, die das obere Ergebnis enthalten, sollte es ungefähr so ​​aussehen

%Vor%     
edorian 03.03.2010 23:32
quelle
1

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%     
Darren Atkinson 04.03.2010 14:59
quelle
1

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%     
bic 03.03.2010 23:39
quelle
0

Dies sollte für mysql und mssql funktionieren:

%Vor%     
AxelEckenberger 03.03.2010 23:26
quelle
0

Ich bin mir nicht sicher, welche Datenbank Sie verwenden.

In MySQL wird die Abfrage der von @THEn

vorgeschlagenen Methode ähnlich sein

Auf SQL Server haben Sie andere interessante Möglichkeiten.

Lesen Sie den Artikel für weitere Details .

    
Harish Shetty 03.03.2010 23:38
quelle
0

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.

    
Olivier Croisier 04.03.2010 00:01
quelle
-2

Könnte falsch sein, aber eine Vermutung:

%Vor%     
JL. 03.03.2010 23:21
quelle

Tags und Links