ソースコード
SELECT 
    chgs.CHECKUP_DATE AS CK_DATE,
    chgs.MEMBER_CODE AS CODE,
    MEMBER_MST.LAST_NAME || MEMBER_MST.FIRST_NAME AS NAME,
    -- _weight,
    -- prev_weight,
    diff AS CHG_WT
FROM (
    SELECT 
        *,
        WEIGHT * 10 AS _weight,
        (WEIGHT * 10 - LAG(WEIGHT) OVER(PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE) * 10) / 10 AS diff,
        LAG(WEIGHT) OVER(PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE) * 10 AS prev_weight,
        ROW_NUMBER() OVER(PARTITION BY MEMBER_CODE ORDER BY CHECKUP_DATE DESC) AS id
    FROM
        HEALTH_CHECKUP
) AS chgs
INNER JOIN 
    MEMBER_MST
ON
    chgs.MEMBER_CODE = MEMBER_MST.MEMBER_CODE
WHERE 
    chgs.id <= 1
    AND ABS(diff) >= 5
ORDER BY
    chgs.WEIGHT - chgs.prev_weight DESC,
    chgs.MEMBER_CODE DESC
    
-- 会員の健康診断結果を記録している健康診断テーブル(HEALTH_CHECKUP)より、会員毎に実施日(CHECKUP_DATE)が直近2回の健康診断結果で、
-- 今回の体重(WEIGHT)から前回の体重を減算した結果が、5kg以上変動した会員を表示しなさい。
-- 体重はkg単位で小数第一位まで登録されているものとする。また、変動した体重を算出する際は丸め誤差が発生しないように注意すること。
-- ただし、小数点以下がゼロの場合は整数のみの表示とする。
-- 表示項目は以下とする。(エイリアスを使用し→の項目名とする)
-- 最新の実施日 → CK_DATE
-- MEMBER_CODE → CODE
-- LAST_NAMEとFIRST_NAMEを連結して表示 → NAME
-- 変動した体重 → CHG_WT
-- 表示順
-- 変動した体重の降順
-- MEMBER_CODEの降順
提出情報
提出日時2024/06/22 11:33:11
コンテスト第13回 SQLコンテスト
問題体重差分
受験者muddydixon
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量84 MB
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
84 MB
データパターン2
WA
84 MB