ホームページ  >  に質問  >  本文

MySQL クエリに関するヘルプを探しています - グループ化された範囲内のタイムスタンプ数を計算します

これは簡単だと思う人もいるでしょうが、それは一晩中苦労しました。センサー アラート ログがあり、さまざまなセンサーごとに 24 時間、168 時間 (1 週間)、および 336 時間 (2 週間) にわたる単純なイベント数のテーブルを生成したいと考えています。私は MySQL (GoDaddy 上で実行) に比較的慣れておらず、独学で、Web で見つけられる Count、Unique、Case などのあらゆるバリエーションを試してきました。助けてオビ=ワン...

###サンプルデータ:###

アラート_タイムスタンプ2022-05-18 21:41:592022-05-21 21:52:092022-05-24 05:00:392022-05-24 05:02:262022-05-24 18:37:342022-05-24 20:48:402022-05-26 21:20:542022-05-27 14:53:022022-06-01 19:06:142022-06-02 19:22:27... 必要な出力 (注: 以下のカウントは上の表に対応しません)。センサーにアラートがゼロの場合でも、これらを確認したいと考えています (たとえば、センサーはテーブルに存在しますが、日付範囲内にイベントがありません)。
センサーID
センサー 1
センサー 1
センサー 2
センサー 1
センサー 4
センサー 1
センサー 2
センサー 1
センサー 4
センサー 1
...
リーリー

###センサー### <24時間センサー 11006
P粉026665919P粉026665919258日前606

全員に返信(1)返信します

  • P粉593536104

    P粉5935361042024-02-05 09:26:27

    条件付き集計を使用します。

    リーリー

    テーブルに「将来」の行が含まれている場合は、対応する条件を最初の集計と WHERE に追加します。

    (SensorID, Alert_timestamp) のインデックス作成が改善されます。

    返事
    0
  • キャンセル返事
  • 24 ~ 168 時間 168 ~ 336 時間
    1 0 センサー 2
    2 5 センサー 3
    0 0 センサー 4
    2 3 ###よろしくお願いします!