MySQL に 2 つのテーブルがあります。これらの各テーブルには、デバイスの MAC アドレスと状態領域の情報が保存されています。
これらの状態は、特定のタイムスタンプ (startTime、endTime) とその期間 (endTime-startTime) で開始および終了し、特定の ID によって引き起こされます。
ここで、次のように、特定のイベント「移動」と「ロード」の間の重複を日で区切って見つけたいと思います。
sum of time, when movement took place (value in the fiddle: 421)
sum of time, when load took place (value in the fiddle: 520)
sum of time, when movement and load took place (value in the fiddle: 391)
クエリの結果は次のようになります。
ID DATE ALL_MOVEMENT ALL_LOAD LOAD_MOVEMENT
00:50:c2:63:10:1a October, 29 2012 00:00:00+0000 421 520 391
00:50:c2:63:10:1a February, 22 2013 00:00:00+0000 421 520 391
00:50:c2:63:10:1b February, 22 2013 00:00:00+0000 181 220 181
ここでフィドルを用意しました: http://sqlfiddle.com/#!2/c210c
更新:別のテーブル構造で必要なものを提供するフィドルは、ここで見ることができます: