ソースコード
WITH LatestTwoCheckups AS (
    SELECT 
        hc.MEMBER_CODE,
        hc.CHECKUP_DATE,
        hc.WEIGHT,
        ROW_NUMBER() OVER (PARTITION BY hc.MEMBER_CODE ORDER BY hc.CHECKUP_DATE DESC) AS rn
    FROM 
        HEALTH_CHECKUP hc
),
RecentCheckups AS (
    SELECT 
        lt1.MEMBER_CODE,
        lt1.CHECKUP_DATE AS LATEST_DATE,
        lt1.WEIGHT AS LATEST_WEIGHT,
        lt2.CHECKUP_DATE AS PREVIOUS_DATE,
        lt2.WEIGHT AS PREVIOUS_WEIGHT
    FROM 
        LatestTwoCheckups lt1
    JOIN 
        LatestTwoCheckups lt2
    ON 
        lt1.MEMBER_CODE = lt2.MEMBER_CODE 
        AND lt1.rn = 1 
        AND lt2.rn = 2
),
WeightChange AS (
    SELECT 
        rc.MEMBER_CODE,
        rc.LATEST_DATE AS CK_DATE,
        rc.LATEST_WEIGHT - rc.PREVIOUS_WEIGHT AS CHG_WT
    FROM 
        RecentCheckups rc
    WHERE 
        ABS(rc.LATEST_WEIGHT - rc.PREVIOUS_WEIGHT) >= 5
)
SELECT 
    wc.CK_DATE,
    m.MEMBER_CODE AS CODE,
    m.LAST_NAME || m.FIRST_NAME AS NAME,
    CASE 
        WHEN wc.CHG_WT = ROUND(wc.CHG_WT, 0) THEN CAST(wc.CHG_WT AS INTEGER)
        ELSE ROUND(wc.CHG_WT, 1)
    END AS CHG_WT
FROM 
    WeightChange wc
JOIN 
    MEMBER_MST m
ON 
    wc.MEMBER_CODE = m.MEMBER_CODE
ORDER BY 
    wc.CHG_WT DESC,
    wc.MEMBER_CODE DESC;
提出情報
提出日時2024/06/21 12:14:35
コンテスト第13回 SQLコンテスト
問題体重差分
受験者960715
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量88 MB
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
88 MB
データパターン2
WA
88 MB