sql >> Databasteknik >  >> Database Tools >> SSMS

SQL Query Jämför värden per 15 minuter och visa resultatet per timme

Nedan är frågan du behöver och en fungerande lösning Obs:Jag ändrade tidsramen till 24 timmar

       ;with SourceData(HourTime, Value, RowNum)
  as
  (
    select 
      datepart(hh, UTCTime) HourTime, 
      Value, 
      row_number() over (partition by datepart(hh, UTCTime) order by UTCTime) RowNum
    from foo
    union 
    select 
        datepart(hh, UTCTime) - 1 HourTime, 
        Value,
        5
    from foo
    where datepart(mi, UTCTime) = 0
  )
  select cast(A.HourTime as varchar) + ':00' UTCTime, sum(case when A.Value = B.Value then 1 else 0 end) ConstantValues
  from SourceData A
   inner join SourceData B on A.HourTime = B.HourTime and
                           (B.RowNum = (A.RowNum - 1))
  group by cast(A.HourTime as varchar) + ':00'


  1. Ta bort privilegier från MySQL-databasen

  2. Simba Mongo ODBC-drivrutin:returnerade data som inte matchar förväntad datalängd

  3. Kan inte ansluta till SQL Server express från SSMS

  4. Importera .sql till MS Access med OBDC