Auf volle Stunden skalieren

Die Anforderung, Auswertungen zu erstellen, die die Daten auf stündlicher Basis aufbereiten und auswerten, findet sich in vielen Bereichen. Zum Beispiel, Anzahl der Telefonate pro Mitarbeiter pro Stunde, Durchschnittswerte irgendwelcher Meßwerte pro Stunde usw... Hier ist eine einfache, aber effektive Methode, solche Anforderungen umzusetzen:

...

USE TEMPDB
CREATE TABLE #dummy
(
 c1 INT
 , d1 DATETIME
)
INSERT INTO #dummy VALUES(4,'20050207 12:33:00')
INSERT INTO #dummy VALUES(4,'20050207 10:33:00')
INSERT INTO #dummy VALUES(2,'20050207 10:34:00')
INSERT INTO #dummy VALUES(6,'20050207 11:33:00')
INSERT INTO #dummy VALUES(2,'20050207 11:34:00')

SELECT 
 DATEADD(hh,DATEDIFF(hh,0,d1),0) Stunden
 , AVG(c1) Durchschnitt
 , COUNT(*) Anzahl
  FROM #dummy
  GROUP BY DATEADD(hh,DATEDIFF(hh,0,d1),0)
  ORDER BY Stunden
  
DROP TABLE #dummy

Stunden                                                Durchschnitt Anzahl      
------------------------------------------------------ ------------ ----------- 
2005-02-07 10:00:00.000                                3            2
2005-02-07 11:00:00.000                                4            2
2005-02-07 12:00:00.000                                4            1

(3 row(s) affected)

Noch kein Feedback
Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.
SchlechtExzellent
(Zeilenumbrüche werden zu <br />)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
Trackback-Adresse für diesen Eintrag

http://www.insidesql.org/blogs/htsrv/trackback.php?tb_id=1115