コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
-- 最新の健康診断結果と直前の健康診断結果を取得するためのCTE(共通テーブル式)
WITH LatestCheckup AS (
SELECT
H1.MEMBER_CODE,
H1.CHECKUP_DATE AS CK_DATE,
H1.WEIGHT AS CURRENT_WEIGHT,
LAG(H1.WEIGHT, 1) OVER (PARTITION BY H1.MEMBER_CODE ORDER BY H1.CHECKUP_DATE) AS PREVIOUS_WEIGHT
FROM
HEALTH_CHECKUP H1
),
-- 体重変動が5kg以上の会員をフィルタリングするCTE
WeightChange AS (
SELECT
LC.MEMBER_CODE,
LC.CK_DATE,
LC.CURRENT_WEIGHT,
LC.PREVIOUS_WEIGHT,
(LC.CURRENT_WEIGHT - LC.PREVIOUS_WEIGHT) AS CHG_WT
FROM
LatestCheckup LC
WHERE
LC.PREVIOUS_WEIGHT IS NOT NULL
AND ABS(LC.CURRENT_WEIGHT - LC.PREVIOUS_WEIGHT) >= 5
)
-- 結果を取得して必要な情報を結合する
SELECT
WC.CK_DATE AS CK_DATE,
MM.MEMBER_CODE AS CODE,
(MM.LAST_NAME || MM.FIRST_NAME) AS NAME,
CASE
WHEN ROUND(WC.CHG_WT, 1) = CAST(WC.CHG_WT AS INTEGER) THEN CAST(WC.CHG_WT AS INTEGER)
ELSE ROUND(WC.CHG_WT, 1)
END AS CHG_WT
FROM
WeightChange WC
JOIN
MEMBER_MST MM ON WC.MEMBER_CODE = MM.MEMBER_CODE
ORDER BY
WC.CHG_WT DESC,
MM.MEMBER_CODE DESC;
提出情報
提出日時 | 2024/06/21 12:20:35 |
コンテスト | 第13回 SQLコンテスト |
問題 | 体重差分 |
受験者 | 960715 |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 95 MB |
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
94 MB
データパターン2
WA
95 MB