Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server — zliczaj zdarzenia, które mają miejsce od 15 min do 14 dni od czasu podstawowego

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

Skrzypce SQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zapytanie sql o różnicę między bieżącym wierszem a poprzednim wierszem na podstawie daty i godziny

  2. COALESCE w klauzuli Gdzie?

  3. Czy używasz odpowiednich narzędzi do monitorowania wydajności bazy danych?

  4. SQL Server zmienia kolejność numerów sekwencyjnych, gdy rekordy są przesuwane w górę lub w dół

  5. Ograniczenie klucza obcego