ソースコード
WITH RecentCheckups AS (
    SELECT
        MEMBER_CODE,
        CHECKUP_DATE,
        WEIGHT,
        ROW_NUMBER() OVER (PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE DESC) AS rn
    FROM
        HEALTH_CHECKUP
),
WeightChanges AS (
    SELECT
        r1.MEMBER_CODE,
        r1.CHECKUP_DATE AS CK_DATE,
        r1.WEIGHT - r2.WEIGHT AS RAW_CHG_WT,
        ROUND(r1.WEIGHT - r2.WEIGHT, 1) AS CHG_WT,
        m.LAST_NAME || m.FIRST_NAME AS NAME
    FROM
        RecentCheckups r1
    JOIN
        RecentCheckups r2
        ON r1.MEMBER_CODE = r2.MEMBER_CODE
        AND r1.rn = 1
        AND r2.rn = 2
    JOIN
        MEMBER_MST m
        ON r1.MEMBER_CODE = m.MEMBER_CODE
    WHERE
        ABS(ROUND(r1.WEIGHT - r2.WEIGHT, 1)) >= 5
)
SELECT
    CK_DATE,
    MEMBER_CODE AS CODE,
    NAME,
    CHG_WT
FROM
    WeightChanges
ORDER BY
    CHG_WT DESC,
    MEMBER_CODE DESC;
提出情報
提出日時2024/06/21 13:29:04
コンテスト第13回 SQLコンテスト
問題体重差分
受験者mmmkkk
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量100 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
96 MB
データパターン2
AC
100 MB