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

SQL Server - 基準時間から 15 分から 14 日の間に発生するイベントをカウントします

    With Metrics As
      (
      Select T1.Client, T1.Type
        , Min(eci_Date) As FirstCallDate
      From Table1 As T1
      Group By T1.Client, T1.Type
      )
    Select DateAdd(d, DateDiff(d,0,T1.eci_date), 0) As [Day], Type, Count(*) As TotalCalls
      , (
        Select Count(*)
        From Table1 As T2
          Join Metrics As M2
            On M2.Client = T2.Client
              And M2.Type = T2.Type
        Where T2.eci_Date >= DateAdd(mi,15,M2.FirstCallDate)
          And T2.eci_date <= DateAdd(d,15,M2.FirstCallDate)
          And DateAdd(d, DateDiff(d,0,T1.eci_date), 0) = DateAdd(d, DateDiff(d,0,T2.eci_date), 0)
        ) As Total_Repeats
    From Table1 As T1
    Group By DateAdd(d, DateDiff(d,0,T1.eci_date), 0), Type
    Order By [Day] Asc, Type Desc
    

    SQL フィドル



    1. PostgreSQLを使用して任意の列でNULL値を持つすべての行を検索する方法

    2. JsonMySqlは2つの整数と1つの文字列を取得します

    3. MariaDBの日付と時刻の関数に使用される言語を返す

    4. SQLクエリは使用可能なインデックスを使用しません(SQL Server 2008)