SQL

【SQL】AthenaでユーザーごとのN回目にログインした日時を集計する

この記事は約2分で読めます。

 

 

Athenaでユーザーごとの7回目にtログインした日時を集計するには、ウィンドウ関数を利用して各ユーザーのログイン回数を数え、7回目の検索に該当する行を抽出します。以下はそのためのSQLクエリの例です。

 

WITH NumberedSearches AS ( 
  SELECT 
    user_id, 
    login_date, 
    ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY login_date) AS login_count 
  FROM search_logs 
) 

SELECT 
  user_id, 
  login_date AS seventh_login_date 
FROM 
  NumberedSearches 
WHERE 
  login_count = 7;

このクエリは次のように機能します:

  1. NumberedSearchesという共通テーブル式(CTE)を使用して、search_logsテーブルの各行に、同じユーザー (user_id) の中での検索の順位(search_rank)を割り当てます。これはROW_NUMBER()ウィンドウ関数によって行われます。
  2. 次に、search_rank が7である行を選択し、それに該当するuser_idsearch_dateを出力します。

 

このクエリの結果として、各ユーザーが7回目にログインした日時が得られます。ただし、7回未満の検索しか行っていないユーザーについては、結果に含まれません。

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました