平均より金額が大きい注文(CTE)

上級

問題文

問題

各注文の金額を「その注文の全明細の price × quantity の合計」とします。 注文金額が「注文金額の平均」より大きい注文を、金額の高い順・同額なら注文IDの昇順で出力してください。

出力する列は次の2つ、この順序・この列名で出してください:

列名内容
order_id注文ID
amountその注文の金額
ヒントを見る

WITH order_total AS (...) で「注文ごとの金額」を先に作ります。 その CTE を本体と平均の両方から参照できます: WHERE amount > (SELECT AVG(amount) FROM order_total)

スキーマ

使用データベース:PostgreSQL 16
customers5
idnamecity
1AliceTokyo
2BobOsaka
3CarolTokyo
4DaveNagoya
5EveOsaka
products6
idnamecategoryprice
1KeyboardPeripheral3000
2MousePeripheral1500
3MonitorDisplay20000
4CableAccessory500
5WebcamPeripheral4000
6DeskFurniture15000
orders6
idcustomer_idorder_date
112024-01-10
212024-02-15
322024-01-20
432024-03-05
522024-03-22
642024-02-28
order_items11
idorder_idproduct_idquantity
1111
2122
3231
4321
5343
6412
7451
8531
9542
10621
11652

SQL

⌘⏎ / Ctrl+Enter で実行
エディタを読み込み中…

「実行」を押すと、ここにSQLの実行結果が表示されます。