MySQL クエリに関するヘルプを探しています - グループ化された範囲内のタイムスタンプ数を計算します
これは簡単だと思う人もいるでしょうが、それは一晩中苦労しました。センサー アラート ログがあり、さまざまなセンサーごとに 24 時間、168 時間 (1 週間)、および 336 時間 (2 週間) にわたる単純なイベント数のテーブルを生成したいと考えています。私は MySQL (GoDaddy 上で実行) に比較的慣れておらず、独学で、Web で見つけられる Count、Unique、Case などのあらゆるバリエーションを試してきました。助けてオビ=ワン...
###サンプルデータ:###
アラート_タイムスタンプ
センサーID |
|
2022-05-18 21:41:59
センサー 1 |
|
2022-05-21 21:52:09
センサー 1 |
|
2022-05-24 05:00:39
センサー 2 |
|
2022-05-24 05:02:26
センサー 1 |
|
2022-05-24 18:37:34
センサー 4 |
|
2022-05-24 20:48:40
センサー 1 |
|
2022-05-26 21:20:54
センサー 2 |
|
2022-05-27 14:53:02
センサー 1 |
|
2022-06-01 19:06:14
センサー 4 |
|
2022-06-02 19:22:27
センサー 1 |
|
...
... |
|
必要な出力 (注: 以下のカウントは上の表に対応しません)。センサーにアラートがゼロの場合でも、これらを確認したいと考えています (たとえば、センサーはテーブルに存在しますが、日付範囲内にイベントがありません)。
リーリー
###センサー###
<24時間
24 ~ 168 時間 |
168 ~ 336 時間 |
|
|
センサー 1
1
1 |
0 |
|
センサー 2 |
0
2 |
5 |
|
センサー 3 |
0
0 |
0 |
|
センサー 4 |
6
2 |
3 |
|
###よろしくお願いします! | 全員に返信(1)返信します
P粉5935361042024-02-05 09:26:27
条件付き集計を使用します。
リーリー
テーブルに「将来」の行が含まれている場合は、対応する条件を最初の集計と WHERE に追加します。
(SensorID, Alert_timestamp)
のインデックス作成が改善されます。
返事
0 キャンセル返事