LeetCode--1069. 产品销售分析 II

51 阅读1分钟

1 题目描述

销售表: Sales

+-------------+-------+  
| Column Name | Type  |  
+-------------+-------+  
| sale_id     | int   |  
| product_id  | int   |  
| year        | int   |  
| quantity    | int   |  
| price       | int   |  
+-------------+-------+  

sale_id 是这个表的主键 (具有唯一值的列)
product_id 是 Product 表的外键 (reference 列)
该表的每一行显示产品 product_id 在某一年的销售情况
请注意价格是每单位的

产品表: Product

+--------------+---------+  
| Column Name  | Type    |  
+--------------+---------+  
| product_id   | int     |  
| product_name | varchar |  
+--------------+---------+  

product_id 是这个表的主键 (具有唯一值的列)
该表的每一行表示每种产品的产品名称

编写解决方案, 统计每个产品的销售总量
返回结果表无顺序要求

2 测试用例

输入:
Sales 表:

+---------+------------+------+----------+-------+  
| sale_id | product_id | year | quantity | price |  
+---------+------------+------+----------+-------+  
| 1       | 100        | 2008 | 10       | 5000  |  
| 2       | 100        | 2009 | 12       | 5000  |  
| 7       | 200        | 2011 | 15       | 9000  |  
+---------+------------+------+----------+-------+  

Product 表:

+------------+--------------+  
| product_id | product_name |  
+------------+--------------+  
| 100        | Nokia        |  
| 200        | Apple        |  
| 300        | Samsung      |  
+------------+--------------+  

输出:

+--------------+----------------+  
| product_id   | total_quantity |  
+--------------+----------------+  
| 100          | 22             |  
| 200          | 15             |  
+--------------+----------------+  

3 解题思路

  1. product_id 进行分组统计, 计算每种产品的 quantity 总数
select product_id, sum(quantity) as total_quantity  
from Sales  
group by product_id;  

查询结果

+----------+--------------+  
|product_id|total_quantity|  
+----------+--------------+  
|100       |22            |  
|200       |15            |  
+----------+--------------+