1

アクセス ログ レコードを含むテーブルがあり、訪問の平均時間を知りたいです。テーブルにデータを入力するために 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 ブラウザーがフリーズします)。

4

0 に答える 0