Benutzer mit den meisten Antworten
Query Abfrage Anzahl Datensätze Pro Tag

Frage
-
Hallo Ihr Wissenden !!!
Bin noch ganz neu und bitte um Hilfe.
In meiner Tabelle habe ich u. a. ein Datetime Feld Namens Zeit.
Nun kommt es vor, dass an einem Tag 1400 Einträge vorhanden sind. oder
vielleicht nur 10 oder für diesen Tag gar keine Daten eingetragen wurden.
Im Feld Zeit ist aber Datum und Zeit gespeichert. Pro Tag ist Datum natürlich
immer gleich, aber die Zeit eine andere. Maximal 1440 Einträge pro Tag.
In der Regel kommt jede Minute ein neuer Datensatz dazu.
Es sei denn es kommt eben keiner....
Ich such nun eine Query Abfrage die mir die Anzahl der Datensätze für jeden
Tag anzeigt.
Beispiel:
Datum Menge
01.06.09 15
02.06.09 1050
u.s.w
wenn für einen Tag keine Datensätze vorhanden sind, brauch ich auch
keine Nullsumme. Der kann einfach in der Liste fehlen.
Grüße.
ToBo
Antworten
-
Hallo Tobo,
entschuldige, da habe ich unbeabsichtigt was anderes kopiert.
GETDATE() muß jeweils durch die Spalte (Zeit) ersetzt werden, wie Du es bereits getan hast.
In der gezeigten Form wird das DAtum in eine Zeichenfolge umgewandelt, und danach sortiert.
Um es als Datum zu sortieren, ist eine weitere Konvertierung erforderlich:
SELECT CONVERT(datetime, CONVERT(char(8), Zeit, 112)) AS Datum, COUNT(*) AS Menge FROM dbo.Tabelle GROUP BY CONVERT(datetime, CONVERT(char(8), Zeit, 112)) ORDER BY Datum
Gruß Elmar- Als Antwort markiert ToBo-fkb Mittwoch, 24. Juni 2009 09:52
Alle Antworten
-
Hallo Tobo,
die Abfrage sähe in etwa so aus:
SELECT CONVERT(char(10), GETDATE(), 104 ) AS Datum, COUNT(*) AS Menge FROM dbo.Tabelle GROUP BY CONVERT(char(10), GETDATE(), 104 )
Weitere Details zu Datum und Zeit findest Du unter
Verwenden von Datums- und Zeitdaten
Gruß Elmar -
Hallo Elmar,
dankeschön... Aber wo taucht da die Spalte "Zeit" auf, in der die Datetime Daten stehen ?
Wenn ich das so eingebe bekomme ich nen Fehler
Server: Nachr.-Nr. 164, Schweregrad 15, Status 1, Zeile 4
GROUP BY-Ausdrücke müssen auf Spaltennamen verweisen, die in der Auswahlliste auftreten.
Ich habe folgendes versucht:
select convert(varchar,Zeit,104) as Datum, count(*) as Menge from Tabelle
Group by convert(varchar,Zeit,104)
order by Datum
Ergebnis sieht gut aus. Die Menge stimmt / Tag. Leider wird es nicht nach Datum komplett,
sondern nur nach dem Tag sortiert.
01.01.2009 873
01.11.2007 720
01.01.2008 1400
02.01.2008 30
u.s.w. -
Hallo Tobo,
entschuldige, da habe ich unbeabsichtigt was anderes kopiert.
GETDATE() muß jeweils durch die Spalte (Zeit) ersetzt werden, wie Du es bereits getan hast.
In der gezeigten Form wird das DAtum in eine Zeichenfolge umgewandelt, und danach sortiert.
Um es als Datum zu sortieren, ist eine weitere Konvertierung erforderlich:
SELECT CONVERT(datetime, CONVERT(char(8), Zeit, 112)) AS Datum, COUNT(*) AS Menge FROM dbo.Tabelle GROUP BY CONVERT(datetime, CONVERT(char(8), Zeit, 112)) ORDER BY Datum
Gruß Elmar- Als Antwort markiert ToBo-fkb Mittwoch, 24. Juni 2009 09:52