2

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クエリはありますか?

4

1 に答える 1