ソースコード
with q1 as (
    select
        MEMBER_CODE,
        CHECKUP_DATE,
        LAST_NAME || FIRST_NAME as NAME,
        WEIGHT,
        lag(WEIGHT) over (
            partition by MEMBER_CODE
            order by
                MEMBER_CODE,
                CHECKUP_DATE
        ) as lag
    from
        HEALTH_CHECKUP
        left join MEMBER_MST using(MEMBER_CODE)
    order by
        MEMBER_CODE,
        CHECKUP_DATE
),
q2 as (
    select
        CHECKUP_DATE as CK_DATE,
        MEMBER_CODE as CODE,
        NAME,
        cast(
            cast(WEIGHT * 10 as integer) - cast(lag * 10 as integer) as real
        ) / 10.0 as CHG_WT
    from
        q1
),
q3 as (
    select
        *,
        rank() over (
            partition by CODE
            order by
                CK_DATE desc
        ) as rank
    from
        q2
    order by
        CHG_WT desc,
        CODE desc
)
select
    CK_DATE,
    CODE,
    NAME,
    CHG_WT
from
    q3
where
    rank = 1
    and abs(CHG_WT) >= 5
order by
    CHG_WT desc,
    CODE desc
提出情報
提出日時2024/06/21 17:01:39
コンテスト第13回 SQLコンテスト
問題体重差分
受験者suse.leaf
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量89 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
89 MB