ソースコード
UPDATE ITEM
SET ITEM_POPULAR_RANK = 0;
WITH ItemOrderSummary AS (
    SELECT
        i.ITEM_CODE,
        SUM(od.ORDER_QTY) AS TOTAL_QTY,
        MAX(o.ORDER_DATE) AS LATEST_ORDER_DATE
    FROM
        ITEM i
    INNER JOIN
        ORDERS_DTL od
        ON i.ITEM_CODE = od.ITEM_CODE
    INNER JOIN
        ORDERS o
        ON od.ORDER_NO = o.ORDER_NO
        AND o.ORDER_DATE >= '2023-04-01'
        AND o.ORDER_DATE <= '2023-06-30'
    GROUP BY
        i.ITEM_CODE
),
RankedItems AS (
    SELECT
        ITEM_CODE,
        RANK() OVER (ORDER BY TOTAL_QTY DESC, LATEST_ORDER_DATE DESC, ITEM_CODE DESC) AS ITEM_POPULAR_RANK
    FROM
        ItemOrderSummary
)
UPDATE ITEM
SET ITEM_POPULAR_RANK = IFNULL((SELECT ITEM_POPULAR_RANK FROM RankedItems WHERE RankedItems.ITEM_CODE = ITEM.ITEM_CODE), 0);
提出情報
提出日時2023/08/18 16:11:02
コンテスト第8回 SQLコンテスト
問題人気順位
受験者suk1yak1
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量101 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
98 MB
データパターン2
AC
101 MB