コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
/*
会員の健康診断結果を記録している健康診断テーブル(HEALTH_CHECKUP)より、会員毎に実施日(CHECKUP_DATE)が直近2回の健康診断結果で、今回の体重(WEIGHT)から前回の体重を減算した結果が、5kg以上変動した会員を表示しなさい。
体重はkg単位で小数第一位まで登録されているものとする。また、変動した体重を算出する際は丸め誤差が発生しないように注意すること。ただし、小数点以下がゼロの場合は整数のみの表示とする。
表示項目は以下とする。(エイリアスを使用し→の項目名とする)
最新の実施日 → CK_DATE
MEMBER_CODE → CODE
LAST_NAMEとFIRST_NAMEを連結して表示 → NAME
変動した体重 → CHG_WT
表示順
変動した体重の降順
MEMBER_CODEの降順
*/
with
a as (
select
CHECKUP_DATE,
max(CHECKUP_DATE) over (partition by member_code) as ck_max,
MEMBER_CODE,
WEIGHT,
lag(WEIGHT) over (partition by member_code order by CHECKUP_DATE) as wlag
from HEALTH_CHECKUP
)
select
CHECKUP_DATE as CK_DATE,
MEMBER_CODE as CODE,
LAST_NAME || FIRST_NAME as NAME,
round(weight - wlag, 1) as CHG_WT
from member_mst inner join a using(member_code)
where checkup_date = ck_max and abs(round(weight - wlag, 1)) >= 5
order by 4 desc, 2 desc
提出情報
提出日時 | 2024/06/23 16:53:49 |
コンテスト | 第13回 SQLコンテスト |
問題 | 体重差分 |
受験者 | wxy_zzz |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 90 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
90 MB
データパターン2
AC
83 MB