平均より購入額が多い顧客(派生テーブル)

上級

問題文

問題

注文をした顧客の中で、「顧客ごとの合計購入額」が「顧客ごとの合計購入額の平均」より大きい顧客を、合計購入額の高い順に出力してください。 (合計購入額は price × quantity の合計です。)

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

列名内容
customer_name顧客名
total_spentその顧客の合計購入額
ヒントを見る

まず「顧客ごとの合計購入額」を派生テーブル(FROM (...) t)として作ります。 その平均は、同じ集計をもう一度サブクエリにして AVG(...) を取ります。 外側で WHERE total_spent > (その平均) を適用します。

スキーマ

使用データベース: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の実行結果が表示されます。