sql >> Database >  >> RDS >> Sqlserver

SQL Server-groep op telling van datum/tijd per uur?

Wat denk je hiervan? Uitgaande van SQL Server 2008:

SELECT CAST(StartDate as date) AS ForDate,
       DATEPART(hour,StartDate) AS OnHour,
       COUNT(*) AS Totals
FROM #Events
GROUP BY CAST(StartDate as date),
       DATEPART(hour,StartDate)

Voor 2008:

SELECT DATEADD(day,datediff(day,0,StartDate),0)   AS ForDate,
       DATEPART(hour,StartDate) AS OnHour,
       COUNT(*) AS Totals
FROM #Events
GROUP BY CAST(StartDate as date),
       DATEPART(hour,StartDate)

Dit resulteert in:

ForDate                 | OnHour | Totals
-----------------------------------------
2011-08-09 00:00:00.000     12       3


  1. hoe een tekenreeks voor een reeks te prefixen die is gegenereerd door postgresql?

  2. Werken met PostgreSQL-databases

  3. Hoe u door een begrensde lijst loopt in Oracle PLSQL

  4. Hoe getallen in SQL af te ronden