• 1084. 销售分析III


    1.题目

    Table: Product

    ±-------------±--------+
    | Column Name | Type |
    ±-------------±--------+
    | product_id | int |
    | product_name | varchar |
    | unit_price | int |
    ±-------------±--------+
    Product_id是该表的主键。
    该表的每一行显示每个产品的名称和价格。

    Table: Sales

    ±------------±--------+
    | Column Name | Type |
    ±------------±--------+
    | seller_id | int |
    | product_id | int |
    | buyer_id | int |
    | sale_date | date |
    | quantity | int |
    | price | int |
    ±----- ------±--------+
    这个表没有主键,它可以有重复的行。
    product_id 是 Product 表的外键。
    该表的每一行包含关于一个销售的一些信息。

    编写一个SQL查询,报告2019年春季才售出的产品。即仅在2019-01-01至2019-03-31(含)之间出售的商品。以 任意顺序 返回结果表。

    2.示例

    输入:
    Product table:
    +------------+--------------+------------+
    | product_id | product_name | unit_price |
    +------------+--------------+------------+
    | 1          | S8           | 1000       |
    | 2          | G4           | 800        |
    | 3          | iPhone       | 1400       |
    +------------+--------------+------------+
    Sales table:
    +-----------+------------+----------+------------+----------+-------+
    | seller_id | product_id | buyer_id | sale_date  | quantity | price |
    +-----------+------------+----------+------------+----------+-------+
    | 1         | 1          | 1        | 2019-01-21 | 2        | 2000  |
    | 1         | 2          | 2        | 2019-02-17 | 1        | 800   |
    | 2         | 2          | 3        | 2019-06-02 | 1        | 800   |
    | 3         | 3          | 4        | 2019-05-13 | 2        | 2800  |
    +-----------+------------+----------+------------+----------+-------+
    输出:
    +-------------+--------------+
    | product_id  | product_name |
    +-------------+--------------+
    | 1           | S8           |
    +-------------+--------------+
    解释:
    id为1的产品仅在2019年春季销售。
    id为2的产品在2019年春季销售,但也在2019年春季之后销售。
    id 3的产品在2019年春季之后销售。
    我们只退回产品1,因为它是2019年春季才销售的产品。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    3.答案

    仅在这个时间段销售的产品,可以利用 min 和Max两个函数进行检查.

    select  product_id,product_name  from product where product_id in (
        select  product_id  from sales  group by product_id  having max(sale_date) <= '2019-03-31'
        and min(sale_date) >= '2019-01-01'
    )
    
    • 1
    • 2
    • 3
    • 4

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/sales-analysis-iii

  • 相关阅读:
    【应用统计学】随机变量的概率分布,数学期望和方差及协方差
    会计制度设计
    protobuf对象与JSON相互转换
    9.7--prompt理论学习
    电子电器架构 --- 智能座舱技术分类
    贴近摄影测量,如何让平遥古城焕发生机?
    Vue 动态加载全局样式css(切换ui主题方案)
    C++类模板中如何调用其基类模板中的函数
    【毕业设计】大数据工作岗位数据分析与可视化 - python flask
    如何在一个月内通过PMP考试?
  • 原文地址:https://blog.csdn.net/qq_51758329/article/details/128013873