コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH TEMP AS (
SELECT
ITEM_CODE,
RANK() OVER(
ORDER BY
SUM(ORDER_QTY) DESC,
MAX(ORDER_DATE) DESC,
MAX(ITEM_CODE) DESC
) AS R
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
)
UPDATE
ITEM
SET
ITEM_POPULAR_RANK = COALESCE((SELECT R FROM TEMP WHERE TEMP.ITEM_CODE = ITEM.ITEM_CODE), 0)
-- COALESCE(X, Y) は X が NULL のとき Y を返す。
-- (SELECT X FROM Y WHERE Z) で、Y から Z を満たす要素 X を返す関数みたいになる。
-- このとき、X が一行一列の表じゃないと RE になる。
-- 8 行目の MAX いらんかも。
提出情報
提出日時 | 2023/08/21 02:00:06 |
コンテスト | 第8回 SQLコンテスト |
問題 | 人気順位 |
受験者 | tabr |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 79 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
76 MB