2
個別テーブルの各部分にクエリを適用します。は、私はテーブル(アズールSQL)の各行セットに対していくつかのクエリを実行する必要が
ID CustomerID MsgTimestamp Msg
-------------------------------------------------
1 123 2017-01-01 10:00:00 Hello
2 123 2017-01-01 10:01:00 Hello again
3 123 2017-01-01 10:02:00 Can you help me with my order
4 123 2017-01-01 11:00:00 Are you still there
5 456 2017-01-01 10:07:00 Hey I'm a new customer
私が何をしたいことはすべての顧客のために「のチャットセッション」を抽出することですメッセージレコードから、つまり、2つの連続するメッセージ間のギャップが30分未満の場合、それらは同じセッションに属します。新しいテーブルに各セッションの開始時刻と終了時刻を記録する必要があります。上記の例では、顧客123の最初のセッションの開始時刻と終了時刻は10:00と10:02です。
私はいつもその目標を達成するためにカーソルと一時テーブルを使用することができますが、私はより良いパフォーマンスに達するために事前構築されたメカニズムを利用することを考えています。親切に私にいくつかの情報を与えてください。
とてもクール!私は以前はウィンドウ関数を使用していましたが、実装する方法を正確にはわかりません。あなたの "セッションマーカー"(列gとgg)の使用は素晴らしいです! – Ryan