問題文
問題
注文された商品について、商品ごとの売上金額(price × quantity の合計)を、カテゴリと一緒に求め、売上金額の高い順に出力してください。
同じ金額が並んだ場合は、商品名の昇順を先にしてください。
出力する列は次の3つ、この順序・この列名で出してください:
| 列名 | 内容 |
|---|---|
category | 商品カテゴリ |
product_name | 商品名 |
revenue | その商品の売上金額(price × quantity の合計) |
ヒントを見る
products と order_items を結合し、商品ごと(category と name)に SUM(p.price * oi.quantity) を求めます。
SELECT に出す非集約の列(category, name)は GROUP BY にも書きます。
スキーマ
使用データベース: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の実行結果が表示されます。