アクセス ログ レコードを含むテーブルがあり、訪問の平均時間を知りたいです。テーブルにデータを入力するために JDBC で sqlite を使用しています。テーブルは数億行になる可能性があります。私はSQLの経験があまりありません。
表は次のようになります。
ID Name Time(s)
1 Apricot 100
2 Apricot 101
3 Banana 102
4 Banana 102
5 Banana 105
6 Apricot 106
7 Apricot 300
8 Cake 300
9 Banana 310
10 Banana 320
各訪問の期間を確認したい。1 回の訪問とは、エントリが表示され、一定時間 (たとえば 100 秒) が経過するまで (同じ名前で) 表示され続けることです。その後、セッションは終了します。同じ名前が再び表示された場合、それは新しいセッションです。
最終的には、訪問数とその期間をグラフ化したいと考えています。
どのような出力が最も簡単かはわかりませんが、役に立つ可能性のある出力を次に示します。
Name Time
Banana 3 (row5 - row3)
Apricot 6 (row6 - row1)
Apricot 0 (row7 - last visit is >100s and no more subsequent visits)
Cake 0 (row8 - last visit is >100s and no more subsequent visits)
Banana 10 (row10 - row9)
(さらに、ID を表示します。これは、訪問の開始または終了の ID である可能性があります)
SQLを使用してこれを行うにはどうすればよいですか?
このページ: Determining the length of a user's visit based on SQLtimestamps には、私のものと同様の質問がありますが、答えがよくわかりませんし、うまくいきません (DB ブラウザーがフリーズします)。