問題文
問題
customers(顧客)と orders(注文)を結合し、注文が1件以上ある顧客について、顧客ごとの合計注文額を、合計金額の高い順に出力してください。
出力する列は次の2つ、この順序・この列名で出してください:
| 列名 | 内容 |
|---|---|
customer_name | 顧客の名前(customers.name) |
total_amount | その顧客の注文金額の合計 |
ヒントを見る
JOIN で顧客と注文を結び、GROUP BY で顧客ごとにまとめ、SUM(amount) で合計します。
内部結合(JOIN)なので、注文の無い顧客は自然に対象外になります。
スキーマ
使用データベース:PostgreSQL 16customers4 行
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Carol |
| 4 | Dave |
products5 行
| id | name | category | price |
|---|---|---|---|
| 1 | Keyboard | Peripheral | 1200 |
| 2 | Mouse | Peripheral | 800 |
| 3 | Monitor | Display | 1500 |
| 4 | Cable | Accessory | 640 |
| 5 | Webcam | Peripheral | 970 |
orders5 行
| id | customer_id | product_id | amount |
|---|---|---|---|
| 1 | 1 | 1 | 1200 |
| 2 | 2 | 2 | 800 |
| 3 | 1 | 3 | 1500 |
| 4 | 3 | 4 | 640 |
| 5 | 2 | 5 | 970 |
SQL
⌘⏎ / Ctrl+Enter で実行「実行」を押すと、ここにSQLの実行結果が表示されます。