ソースコード
WITH LatestCheckups AS (
    SELECT 
        MEMBER_CODE,
        WEIGHT,
        CHECKUP_DATE,
        ROW_NUMBER() OVER (PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE DESC) AS RN
    FROM 
        HEALTH_CHECKUP
),
WeightChanges AS (
    SELECT
        a.MEMBER_CODE,
        a.CHECKUP_DATE AS LATEST_DATE,
        a.WEIGHT AS LATEST_WEIGHT,
        b.CHECKUP_DATE AS PREV_DATE,
        b.WEIGHT AS PREV_WEIGHT,
        ABS(a.WEIGHT - b.WEIGHT) AS WEIGHT_CHANGE
    FROM
        LatestCheckups a
    JOIN
        LatestCheckups b
    ON
        a.MEMBER_CODE = b.MEMBER_CODE AND a.RN = 1 AND b.RN = 2
    WHERE
        ABS(a.WEIGHT - b.WEIGHT) >= 5
),
MemberDetails AS (
    SELECT 
        m.MEMBER_CODE,
        m.LAST_NAME,
        m.FIRST_NAME,
        wc.LATEST_DATE AS CK_DATE,
        wc.WEIGHT_CHANGE AS CHG_WT
    FROM 
        WeightChanges wc
    JOIN 
        MEMBER_MST m
    ON 
        wc.MEMBER_CODE = m.MEMBER_CODE
)
SELECT 
    CK_DATE,
    MEMBER_CODE AS CODE,
    LAST_NAME || FIRST_NAME AS NAME,
    printf("%.1f", CHG_WT) AS CHG_WT
FROM 
    MemberDetails
ORDER BY 
    CHG_WT DESC, 
    MEMBER_CODE DESC;
提出情報
提出日時2024/06/21 12:40:58
コンテスト第13回 SQLコンテスト
問題体重差分
受験者rintaro
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量90 MB
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
90 MB
データパターン2
WA
82 MB