问题销售分析-Leet Code Question 1070

问题描述 投票:0回答:1

这是问题陈述 编写一个解决方案来选择每个销售产品的第一年的产品 ID、年份、数量和价格。

输入: 销售表:

+---------+------------+------+----------+-------+
| sale_id | product_id | year | quantity | price |
+---------+------------+------+----------+-------+ 
| 1       | 100        | 2008 | 10       | 5000  |
| 2       | 100        | 2009 | 12       | 5000  |
| 7       | 200        | 2011 | 15       | 9000  |
+---------+------------+------+----------+-------+
Product table:
+------------+--------------+
| product_id | product_name |
+------------+--------------+
| 100        | Nokia        |
| 200        | Apple        |
| 300        | Samsung      |
+------------+--------------+
Output: 
+------------+------------+----------+-------+
| product_id | first_year | quantity | price |
+------------+------------+----------+-------+ 
| 100        | 2008       | 10       | 5000  |
| 200        | 2011       | 15       | 9000  |
+------------+------------+----------+-------+

我的解决方案

    select product_id, min(year) as first_year, quantity, price from Sales 
    GROUP BY product_id;

此解决方案为何不完整?为什么此查询通过了 1 个测试用例而其余测试用例失败?

mysql
1个回答
0
投票

解决方案如下: 选择product_id,年份作为first_year,数量,价格来自 (从销售订单中选择*,按年份升序限制100000)按product_id分组

1.按年份对数据进行排序(排序时限制很重要,不排序则排序无效) 2.分组依据

© www.soinside.com 2019 - 2024. All rights reserved.