sql >> データベース >  >> RDS >> Sqlserver

1時間あたりの日時のカウントによるSQLServerグループ?

    これはどう? 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)
    

    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)
    

    これにより、次のようになります:

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


    1. postgresで値のタイプを確認する方法

    2. SQLiteで数値以外の値を返す2つの方法

    3. 一重引用符を回避する衛生状態は、SQL ServerのSQLインジェクションによってどのように打ち負かされますか?

    4. SQL Serverデータベースにストアドプロシージャと関数を返す:ルーチン(T-SQLの例)