問題文
問題
顧客の居住都市(customers.city)ごとに、その都市の顧客たちの合計購入額(price × quantity の合計)を求め、高い順に出力してください。
出力する列は次の2つ、この順序・この列名で出してください:
| 列名 | 内容 |
|---|---|
city | 都市 |
total_spent | その都市の合計購入額 |
ヒントを見る
顧客テーブルの city でグループ化します。customers→orders→order_items→products
を結合してから GROUP BY c.city し、SUM(p.price * oi.quantity) を求めます。
スキーマ
使用データベース:PostgreSQL 16customers5 行
| id | name | city |
|---|---|---|
| 1 | Alice | Tokyo |
| 2 | Bob | Osaka |
| 3 | Carol | Tokyo |
| 4 | Dave | Nagoya |
| 5 | Eve | Osaka |
products6 行
| id | name | category | price |
|---|---|---|---|
| 1 | Keyboard | Peripheral | 3000 |
| 2 | Mouse | Peripheral | 1500 |
| 3 | Monitor | Display | 20000 |
| 4 | Cable | Accessory | 500 |
| 5 | Webcam | Peripheral | 4000 |
| 6 | Desk | Furniture | 15000 |
orders6 行
| id | customer_id | order_date |
|---|---|---|
| 1 | 1 | 2024-01-10 |
| 2 | 1 | 2024-02-15 |
| 3 | 2 | 2024-01-20 |
| 4 | 3 | 2024-03-05 |
| 5 | 2 | 2024-03-22 |
| 6 | 4 | 2024-02-28 |
order_items11 行
| id | order_id | product_id | quantity |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 2 | 1 | 2 | 2 |
| 3 | 2 | 3 | 1 |
| 4 | 3 | 2 | 1 |
| 5 | 3 | 4 | 3 |
| 6 | 4 | 1 | 2 |
| 7 | 4 | 5 | 1 |
| 8 | 5 | 3 | 1 |
| 9 | 5 | 4 | 2 |
| 10 | 6 | 2 | 1 |
| 11 | 6 | 5 | 2 |
SQL
⌘⏎ / Ctrl+Enter で実行「実行」を押すと、ここにSQLの実行結果が表示されます。