こんにちは、連続モードで記録するセキュリティカメラを持っている。その記録のレコードをsqliteデータベースファイルにいくつかの異なるファイルに保存します。私は録音の時間のギャップを見つけようとしています。問題は特定の録画イベントが重複しているため、単に開始時刻と停止時刻の時間差を見つけることができないということです。ここでレコードの時間ギャップを見つける
select b.id, datetime(b.starttime, "-8 Hour") as starttime, datetime(b.stoptime, "-8 Hour") as endtime, b.recording_id
from blocks b, recordings a
where b.recording_id = a.id and a.recording_type_id = 1 order by b.starttime asc
IソートSTARTTIMEによってクエリから抜粋されています:実際に
+------------------------------------------------------------+
| id starttime endtime recording_id |
+------------------------------------------------------------+
| ---- ------------------- ------------------- ------------ |
| 6824 2016-03-22 12:32:48 2016-03-22 12:38:08 389 |
| 6825 2016-03-22 12:38:08 2016-03-22 12:43:28 389 |
| 6826 2016-03-22 12:39:00 2016-03-22 12:41:10 418 |
| 6827 2016-03-22 12:43:28 2016-03-22 12:48:48 389 |
| 6828 2016-03-22 12:48:48 2016-03-22 12:54:08 389 |
| 6829 2016-03-22 12:54:08 2016-03-22 12:59:28 389 |
+------------------------------------------------------------+
私はID 6827のID 6826からの時間間隔を取得するには、ここで私が現在使用しているクエリがあります1つではありません。 ID 6825はID 6827と整列しています。
どのようにすればこの作業をするか考えてください。私はいつもの間にあるかどうかをテストし、そのような記録を作成するために、毎日の毎秒を叩くことについて考えましたが、それはちょうど残忍です。
私たちはデバッグできるようにあなたの質問にあなたの質問を追加してください。あなたのロジックにRecording_Idを考慮していないようです。 –
そうかもしれないが、私はまだ重複する時間がある状況を見ている。たとえば、recording_idで最初にソートされるサブクエリを作成すると、後でそれをどのように照合するのですか?私はまだ対処するために重複を持っています。 – WillemB
利用可能なすべてのセグメント内に見つからない 'stoptime'値を見つけようとしてください: – Stavr00