ID、時間、およびブール値の列を含む 100,000 行を超えるテーブルがあります。
時間列は、時間を秒単位で追跡します。
テーブルの開始から終了までの 5 分間隔ごとに Boolean = 1 のすべてのインスタンスを検索し、時間間隔ごとにカウントをグループ化するクエリが必要です。
このテーブルは 4 時間分のデータを表しているため、48 行の結果が得られるはずです。
MS SQL Server を使用しています。
いくつかのアプローチを試してみましたが、時間間隔のロジックに苦労しています。
編集:私はそれを理解しました!
SELECT DATEADD(MINUTE, DATEDIFF(MINUTE, 0, timestamp)/5 * 5,0), COUNT(*)
FROM table
WHERE isrepeat = 1
GROUP BY by DATEADD(MINUTE, DATEDIFF(MINUTE, 0, timestamp)/5 * 5,0)
ORDER BY by 1