ユーザーのチャット メッセージを格納するテーブルがあります。すべてのメッセージがこのテーブルに記録されます。特定のユーザーのチャット時間を計算する必要があります。
ユーザーが x 回チャットし、x+10 回後にチャットを終了する可能性があるためです。X+20 時間後、ユーザーは再びチャットを開始します。したがって、x+10 から x+20 までの期間は考慮されません。
表の構造とサンプル データは次のとおりです。異なる色は、同じユーザーの 2 つのチャット セッションを表します。663 と 662 の間には 1 時間以上の差があることがわかるので、そのようなセッションは結果セットから除外する必要があります。最終結果は 2.33 分です。
declare @messagetime1 as datetime
declare @messagetime2 as datetime
select @messagetime1=messagetime from tbl_chatMessages where ID=662
select @messagetime2=messagetime from tbl_chatMessages where ID=659
print datediff(second,@messagetime2,@messagetime1)
Result --- 97 seconds
declare @messagetime3 as datetime
declare @messagetime4 as datetime
select @messagetime3=messagetime from tbl_chatMessages where ID=668
select @messagetime4=messagetime from tbl_chatMessages where ID=663
print datediff(second,@messagetime4,@messagetime3)
Result -- 43 seconds
チャットの時間を計算するソリューションを提案してください。これは私が考えることができるロジックの 1 つです。解決策を共有してください