ソースコード
with rank as(
    select
        ITEM_CODE,
        sum(ORDER_QTY) as ORDER_QTY,
        max(ORDER_DATE) as ORDER_DATE
    from
        ORDERS
        inner join ORDERS_DTL on ORDERS.ORDER_NO = ORDERS_DTL.ORDER_NO
    where
        ORDER_DATE between '2023-04-01'
        and '2023-06-30'
    group by
        ITEM_CODE
),
rank2 as(
    select
        ITEM_CODE,
        rank() over (
            order by
                ORDER_QTY desc,
                ORDER_DATE desc,
                ITEM_CODE desc
        ) as rank
    from
        rank
)
update
    ITEM
set
    ITEM_POPULAR_RANK =case
        when (
            select
                ITEM_CODE
            from
                rank2
            where
                rank2.ITEM_CODE = ITEM.ITEM_CODE
        ) is not null then (
            select
                rank
            from
                rank2
            where
                ITEM.ITEM_CODE = rank2.ITEM_CODE
        )
        else 0
    end;
提出情報
提出日時2023/08/20 18:21:34
コンテスト第8回 SQLコンテスト
問題人気順位
受験者visionary_band
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量88 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
88 MB