sql >> データベース >  >> Database Tools >> SSMS

SQLクエリは15分ごとに値を比較し、1時間ごとに結果を表示します

    以下は、必要なクエリと実用的なソリューション です。 注:時間枠を24時間に変更しました

           ;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. 特定のデータベースの横にあるphpMyAdminアイコン(本の箱)はどういう意味ですか?

    2. PHPのデータベースに動的配列を挿入する方法は?

    3. phpmyadminがPMA_DBI_num_rows()に致命的なエラーを発行

    4. デフォルトの「新しいストアドプロシージャ」SSMS2008テンプレートをカスタマイズする