返回介绍

solution / 1300-1399 / 1327.List the Products Ordered in a Period / README

发布于 2024-06-17 01:03:20 字数 3065 浏览 0 评论 0 收藏 0

1327. 列出指定时间段内所有的下单产品

English Version

题目描述

表: Products

+------------------+---------+
| Column Name    | Type  |
+------------------+---------+
| product_id     | int   |
| product_name   | varchar |
| product_category | varchar |
+------------------+---------+
product_id 是该表主键(具有唯一值的列)。
该表包含该公司产品的数据。

 

表: Orders

+---------------+---------+
| Column Name   | Type  |
+---------------+---------+
| product_id  | int   |
| order_date  | date  |
| unit      | int   |
+---------------+---------+
该表可能包含重复行。
product_id 是表单 Products 的外键(reference 列)。
unit 是在日期 order_date 内下单产品的数目。

 

写一个解决方案,要求获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。

返回结果表单的 顺序无要求

查询结果的格式如下。

 

示例 1:

输入:
Products 表:
+-------------+-----------------------+------------------+
| product_id  | product_name      | product_category |
+-------------+-----------------------+------------------+
| 1       | Leetcode Solutions  | Book       |
| 2       | Jewels of Stringology | Book       |
| 3       | HP          | Laptop       |
| 4       | Lenovo        | Laptop       |
| 5       | Leetcode Kit      | T-shirt      |
+-------------+-----------------------+------------------+
Orders 表:
+--------------+--------------+----------+
| product_id   | order_date   | unit   |
+--------------+--------------+----------+
| 1      | 2020-02-05   | 60     |
| 1      | 2020-02-10   | 70     |
| 2      | 2020-01-18   | 30     |
| 2      | 2020-02-11   | 80     |
| 3      | 2020-02-17   | 2    |
| 3      | 2020-02-24   | 3    |
| 4      | 2020-03-01   | 20     |
| 4      | 2020-03-04   | 30     |
| 4      | 2020-03-04   | 60     |
| 5      | 2020-02-25   | 50     |
| 5      | 2020-02-27   | 50     |
| 5      | 2020-03-01   | 50     |
+--------------+--------------+----------+
输出:
+--------------------+---------+
| product_name     | unit  |
+--------------------+---------+
| Leetcode Solutions | 130   |
| Leetcode Kit     | 100   |
+--------------------+---------+
解释:
2020 年 2 月份下单 product_id = 1 的产品的数目总和为 (60 + 70) = 130 。
2020 年 2 月份下单 product_id = 2 的产品的数目总和为 80 。
2020 年 2 月份下单 product_id = 3 的产品的数目总和为 (2 + 3) = 5 。
2020 年 2 月份 product_id = 4 的产品并没有下单。
2020 年 2 月份下单 product_id = 5 的产品的数目总和为 (50 + 50) = 100 。

解法

方法一

# Write your MySQL query statement below
SELECT product_name, SUM(unit) AS unit
FROM
  Orders AS o
  JOIN Products AS p ON o.product_id = p.product_id
WHERE DATE_FORMAT(order_date, '%Y-%m') = '2020-02'
GROUP BY o.product_id
HAVING unit >= 100;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文