leetcode1070. 产品销售分析 III(SQL)
销售表 Sales:
+-------------+-------+
 | Column Name | Type  |
 +-------------+-------+
 | sale_id     | int   |
 | product_id  | int   |
 | year        | int   |
 | quantity    | int   |
 | price       | int   |
 +-------------+-------+
 sale_id 是此表的主键。
 产品 ID 是产品表的外键。
 请注意,价格是按每单位计的。
 产品表 Product:
+--------------+---------+
 | Column Name  | Type    |
 +--------------+---------+
 | product_id   | int     |
 | product_name | varchar |
 +--------------+---------+
 产品 ID 是此表的主键。
  
编写一个 SQL 查询,选出每个销售产品的 第一年 的 产品 id、年份、数量 和 价格。
查询结果格式如下:
Sales table:
 +---------+------------+------+----------+-------+
 | 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      |
 +------------+--------------+
Result table:
 +------------+------------+----------+-------+
 | product_id | first_year | quantity | price |
 +------------+------------+----------+-------+ 
 | 100        | 2008       | 10       | 5000  |
 | 200        | 2011       | 15       | 9000  |
 +------------+------------+----------+-------+
思路:先查出每个商品对应的最早时间方便查询,注意in的应用,可以是多字段对应多字段。
  
   - 
    
     
    
    
     
      select product_id,year first_year,quantity,price
     
    
- 
    
     
    
    
     
      from Sales
     
    
- 
    
     
    
    
     
      where (product_id,year) in (select product_id,min(year) from Sales group by product_id);
     
    
 
文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。
原文链接:fantianzuo.blog.csdn.net/article/details/104411087
- 点赞
- 收藏
- 关注作者
 
             
           
评论(0)