1

クライアント アプリが特別な手順 (メンテナンスなど) を実行しているときに、ハードウェアで発生するイベントを記録するドライバーによって入力されるテーブルがあります。この操作中に保存されるイベントは、I/O (センサー) ではなくユーザーによるものです。これに対処するには、考えられるすべてのイベントを保存する必要があるためです (通常の操作によって発生したか、ユーザー操作によって発生したかに関係なく)。これらの「メンテナンス モード」データをフィルタリングして、自動的に生成された情報を取得できるようにする必要があります。これを行うには、ハードウェアによって入力されたテーブルに「START」行と「END」行を挿入しています。非機能データの始まりと終わりは、次のようになります。

id | fieldlist... 
---+--------------------
 1 | event1 
 2 | event2 
 3 | event3 
 4 | manteinance start (inserted by me)
 5 | event_by_technician1 
 6 | event_by_technician2
 7 | event_by_technician3
 8 | manteinance finish (inserted by me)
 9 | event4 
 10| event5 
 11| manteinance start (inserted by me)
 12| event_by_technicianx 
 13| event_by_techniciany
 14| manteinance finish (inserted by me)
 15| eventA 
 16| manteinance start (inserted by me)
 17| event_by_technician 
 18| manteinance finish (inserted by me)
 19| many many more records and start/finish pairs...

これらのすべての event_by_technician* をフィルター処理して、event* 行のみを取得する必要があります。変数および不均一な範囲のセットについて、クリーンで簡単な情報を照会する方法はありますか?

ありがとう

編集:私は明確ではないと思います.サーバー上で実行されている2つのアプリケーション、phpベースのWebアプリケーション、および外部ドライバーがあります。両方のスクリプト/アプリケーションが同じデータベースにアクセスし、ドライバーがセンサーやその他のハードウェア ステータスからデータを挿入し、Web アプリがそれを読み取って、かなり優れたグラフィックスを表示します (ユーザー リクエスト、つまりボタンのクリック時に「シグナリング」行を挿入します)。イベントがメンテナンスによるものなのか、通常の操作によるものなのかを比較することはできません。なぜなら、それらはまったく同じであり、技術者が Web ページのボタンをクリックして開始し、別のボタンをクリックして終了したかどうかが異なるからです。私が必要としているのは、Mysql に尋ねることです。

結果セットをループする開始/終了行の間にデータに追加の列を配置するphpでテーブルをリファクタリングする方法を取っていると思います。そして、クエリを作成します。

4

2 に答える 2