ソースコード
with
s1 as (
select 
PROCESS_ID
, SESSION_ID
, rank() over (partition by SESSION_ID order by EX_TIMESTAMP) as RANK
from process_log
)
, s2 as (
select 
SESSION_ID
, MIN(RANK) as MIN
from s1 where CAST(SUBSTR(PROCESS_ID, 5) AS INT) != RANK
group by SESSION_ID
)
select 
s1.PROCESS_ID as PROCESS
, count(
CASE WHEN CAST(SUBSTR(s1.PROCESS_ID, 5) as INT) < s2.MIN OR s2.MIN IS NULL THEN 1 END
) as CNT
from s1 left join s2 on s1.SESSION_ID = s2.SESSION_ID
group by PROCESS_ID
order by PROCESS_ID
;
提出情報
提出日時2024/04/21 16:50:46
コンテスト第10回 SQLコンテスト
問題顧客行動分析
受験者daku10
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
85 MB
データパターン4
AC
83 MB