ソースコード
-- 受注テーブル(ORDERS)、受注明細テーブル(ORDERS_DTL)より、受注日(ORDER_DATE)が、2023年5月14日から2023年5月20日の1週間で受注した商品の受注金額を集計して、
-- 表示順に従って上位5つまでの商品を表示しなさい。受注金額は受注明細テーブルの販売単価(UNITPRICE) × 受注数量(ORDER_QTY)で求めること。
-- 表示項目は以下とする。(エイリアスを使用し→の項目名とする)
-- ITEM_CODE → CODE
-- ITEM_NAME → NAME
-- 受注金額の合計 → TOTAL_AMT
-- 表示順
-- 受注金額合計の降順
-- ITEM_CODEの降順
with target_orders as(
select ORDER_NO	
from ORDERS
where ORDER_DATE >= date("2023-05-14")
and ORDER_DATE <= date("2023-05-20")
)
,agg_ as(
select CODE
        ,NAME
        ,sum(TOTAL_AMT) as TOTAL_AMT
from(
select ORDER_NO
        ,LINE_NO
        ,ITEM_CODE as CODE
        ,ITEM_NAME as NAME
        ,UNITPRICE * ORDER_QTY as TOTAL_AMT
from ORDERS_DTL
join target_orders using(ORDER_NO)
join ITEM using(ITEM_CODE)
)
group by 1,2
)
select *
from agg_
order by TOTAL_AMT desc,CODE desc
limit 5
提出情報
提出日時2023/06/19 10:06:16
コンテスト第7回 SQLコンテスト
問題受注金額TOP5
受験者ec0341ks
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量94 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
90 MB
データパターン2
AC
94 MB
データパターン3
AC
90 MB