ソースコード
WITH Recent_Checkups AS (
    SELECT
        MEMBER_CODE,
        CHECKUP_DATE,
        WEIGHT,
        ROW_NUMBER() OVER (PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE DESC) AS rn
    FROM
        HEALTH_CHECKUP
),
Checkup_Pairs AS (
    SELECT
        c1.MEMBER_CODE,
        c1.CHECKUP_DATE AS CK_DATE,
        c1.WEIGHT AS CURRENT_WEIGHT,
        c2.WEIGHT AS PREVIOUS_WEIGHT,
        ROUND(c1.WEIGHT - c2.WEIGHT, 1) AS CHG_WT
    FROM
        Recent_Checkups c1
    JOIN
        Recent_Checkups c2 ON c1.MEMBER_CODE = c2.MEMBER_CODE AND c1.rn = 1 AND c2.rn = 2
    WHERE
        ABS(ROUND(c1.WEIGHT - c2.WEIGHT, 1)) >= 5
),
Members AS (
    SELECT
        MEMBER_CODE,
        LAST_NAME || FIRST_NAME AS NAME
    FROM
        MEMBER_MST
)
SELECT
    p.CK_DATE,
    p.MEMBER_CODE AS CODE,
    m.NAME,
    CASE
        WHEN p.CHG_WT = ROUND(p.CHG_WT, 0) THEN CAST(ROUND(p.CHG_WT, 0) AS INTEGER)
        ELSE p.CHG_WT
    END AS CHG_WT
FROM
    Checkup_Pairs p
JOIN
    Members m ON p.MEMBER_CODE = m.MEMBER_CODE
ORDER BY
    CHG_WT DESC,
    CODE DESC;
提出情報
提出日時2024/06/21 12:31:30
コンテスト第13回 SQLコンテスト
問題体重差分
受験者2034987120349871
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量97 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
97 MB
データパターン2
AC
86 MB