ソースコード
WITH SUB1 AS (
    SELECT
        SESSION_ID
        , CAST(REPLACE(PROCESS_ID, 'STEP', '') AS INT) AS PROCNUM
        , ROW_NUMBER() OVER (PARTITION BY SESSION_ID ORDER BY EX_TIMESTAMP) AS RNUM
    FROM
        PROCESS_LOG
),
SUB2 AS (
    SELECT
        SESSION_ID
        , MIN(RNUM) AS MINRNUM
    FROM
        SUB1
    WHERE
        PROCNUM <> RNUM
    GROUP BY
        SESSION_ID
)
SELECT
    'STEP' || SUB1.PROCNUM AS PROCESS
    , COUNT(CASE WHEN SUB2.MINRNUM IS NULL OR SUB1.RNUM < SUB2.MINRNUM THEN SUB1.SESSION_ID END)
        AS CNT
FROM SUB1
    LEFT JOIN SUB2 ON SUB1.SESSION_ID = SUB2.SESSION_ID
GROUP BY
    SUB1.PROCNUM
ORDER BY
    PROCESS
;
提出情報
提出日時2024/06/12 15:05:20
コンテスト第10回 SQLコンテスト
問題顧客行動分析
受験者maori
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量87 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
87 MB
データパターン3
AC
85 MB
データパターン4
AC
87 MB