kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

Amazon Athenaでアクセスログから、特定PATHの分ごとのアクセス数をカウントする方法

以下は、2023/11/18の15:00〜15:10の間の https://example.com:443/hoge への分単位のアクセス数を取るSQL

SELECT
    minute,
    COUNT(minute) AS count
    FROM (
        SELECT 
            date_trunc('minute', from_iso8601_timestamp(time)) AS minute
        FROM "alb_access_logs"
        WHERE 
            (time BETWEEN '2023-11-18T15:00:00' AND '2023-11-18T17:10:00') AND
            request_url like 'https://example.com:443/hoge'
    )
GROUP BY minute

date_trunc は、タイムスタンプを特定の範囲に丸めるもの ( minute とか day とか )

また、date_trunc にわたす前に、time を from_iso8601_timestamp で、ISO 8601 に変える必要がある