私のタイトルが私が実行しようとしているタスクを適切に説明していない場合は申し訳ありません.
大学のプロジェクトで、Web サイトのアクセス ログを受け取りました。不要な列を破棄して、次のように要約しました。
╔══════════╦══════════════════════╦═════════════════╦═════════════╦════════════════╗
║ accessid ║ date_time_in_seconds ║ yg_requester_id ║ referent_id ║ referent_docid ║
╠══════════╬══════════════════════╬═════════════════╬═════════════╬════════════════╣
║ 2449 ║ 2009011621830 ║ 32276 ║ 12648 ║ 1 ║
║ 2776 ║ 2009011622726 ║ 76360 ║ 11070 ║ 1 ║
║ 2804 ║ 2009011622783 ║ 32276 ║ 13845 ║ 1 ║
║ 2894 ║ 2009011623025 ║ 32276 ║ 7222 ║ 1 ║
║ 2895 ║ 2009011623037 ║ 32276 ║ 1530 ║ 1 ║
║ 3000 ║ 2009011623406 ║ 32276 ║ 3728 ║ 1 ║
║ 3019 ║ 2009011623497 ║ 520060 ║ 10356 ║ 1 ║
║ 3245 ║ 2009011625780 ║ 300841 ║ 4607 ║ 1 ║
║ 3274 ║ 2009011628309 ║ 532664 ║ 14377 ║ 1 ║
║ 3275 ║ 2009011628420 ║ 532664 ║ 9097 ║ 1 ║
╚══════════╩══════════════════════╩═════════════════╩═════════════╩════════════════╝
当初、時刻と日付スタンプは測定単位 (年、月、日、時、分、秒) ごとに別々の列にありましたが、計算を簡単にするために、次の形式の date_time_in_seconds にそれらを統合しました。
[0000][00][00][00000]
[YEAR][MONTH][DAY][Number of Seconds since 00:00]
accessid はテーブル エントリ ID、yg_requester_id は Web サイト訪問者の一意の ID、referent_id は閲覧した Web サイト記事の ID、referent_docid は記事のタイプを示しますが、このタスクでは必要ありません。
基本的には、同じ yg_requester_id が最後に異なる referent_id にアクセスしてからの時間差を見つけられるようにしたいと考えています。たとえば、上の表の行のこのセクションを見ると、次のようになります。
╔══════════╦══════════════════════╦═════════════════╦═════════════╦════════════════╗
║ accessid ║ date_time_in_seconds ║ yg_requester_id ║ referent_id ║ referent_docid ║
╠══════════╬══════════════════════╬═════════════════╬═════════════╬════════════════╣
║ 2449 ║ 2009011621830 ║ 32276 ║ 12648 ║ 1 ║
║ 2776 ║ 2009011622726 ║ 76360 ║ 11070 ║ 1 ║
║ 2804 ║ 2009011622783 ║ 32276 ║ 13845 ║ 1 ║
╚══════════╩══════════════════════╩═════════════════╩═════════════╩════════════════╝
yg_requester_id 32276 は、2009 年 1 月 16 日の 06:03:50 (午前 0 時から 21830 秒) に ID 12648 の記事にアクセスしました。その後、16 日の06:19:43 (午前0時から22783秒)にID 13845の記事にアクセスしました。 2009 年 1 月。したがって、ユーザーが最初の記事 (id 12648 ) を約 15 分 50 秒間読んだと想定しても安全です。
私が見つけたいのは、同じユーザーがアクセスした記事間の時間差です。ユーザーが読んだ連続した記事には、連続した accessid がない場合があります (ただし、常に増加します)。また、タスクは読み取り時間が変数の分数 (たとえば 15 分)未満のレコードを除外することであるため、読み取り時間を約 1 時間に制限したいと思います。
事前に感謝します。さらに情報が必要な場合はお知らせください