sql >> Databáze >  >> RDS >> Sqlserver

Skupina SQL Server podle počtu DateTime za hodinu?

Co třeba tohle? Za předpokladu, že 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)

Pro období před rokem 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)

Výsledkem je:

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


  1. Základy tabulkových výrazů, část 8 – CTE, úvahy o optimalizaci pokračovaly

  2. efektivní způsob implementace stránkování

  3. základní hromadná vložka pyodbc

  4. INITCAP() – Převod na počáteční velká písmena v PostgreSQL