SQL でのレコードのペアリングに関する多くの SO の質問を読みましたが、このようなセッション カウンターを使用したものはありません。多くの人に非常に当てはまる問題の一般的な例を単純化しました。
基本的に、次のように、タイムスタンプと、新しいセッションごとに0にリセットされる増分「セッションカウンター」を使用して個々のイベントを記録するmySQLテーブルがあります。
time counter
t0 0
t1 1
t2 2
t3 0
t4 1
t5 0
t6 1
t7 2
t8 3
t9 4
そのデータを取得し、すべてのセッションの最初と最後のタイムスタンプをペアにして (そして最終的には時間の差分を計算して)、セッションごとに 1 行にしたいと思います。したがって、望ましい出力は次のようになります。
start counter end counter
t0 0 t2 2
t3 0 t4 1
t5 0 t9 4
LEAD および LAG 関数を使用したいくつかのソリューションを読んだことがありますが、それは MySQL では利用できず、代替の実装は私の理解レベルを超えています。Excel / Pythonでこれをブルートフォースできることは知っていますが、これを達成できる比較的単純なmySQLクエリはありますか?