-
leetcode - DescriptionSolutionDiscuss (50)Submissions2292. Products With Three or More Orders in Two Consecutive YearsSQL 문제풀이 2022. 9. 19. 15:31
난이도 : Medium
Table: Orders
+---------------+------+ | Column Name | Type | +---------------+------+ | order_id | int | | product_id | int | | quantity | int | | purchase_date | date | +---------------+------+ order_id is the primary key for this table. Each row in this table contains the ID of an order, the id of the product purchased, the quantity, and the purchase date.Write an SQL query to report the IDs of all the products that were ordered three or more times in two consecutive years.
Return the result table in any order.
The query result format is shown in the following example.
Example 1:
Input: Orders table: +----------+------------+----------+---------------+ | order_id | product_id | quantity | purchase_date | +----------+------------+----------+---------------+ | 1 | 1 | 7 | 2020-03-16 | | 2 | 1 | 4 | 2020-12-02 | | 3 | 1 | 7 | 2020-05-10 | | 4 | 1 | 6 | 2021-12-23 | | 5 | 1 | 5 | 2021-05-21 | | 6 | 1 | 6 | 2021-10-11 | | 7 | 2 | 6 | 2022-10-11 | +----------+------------+----------+---------------+ Output: +------------+ | product_id | +------------+ | 1 | +------------+ Explanation: Product 1 was ordered in 2020 three times and in 2021 three times. Since it was ordered three times in two consecutive years, we include it in the answer. Product 2 was ordered one time in 2022. We do not include it in the answer.WITH sub AS ( SELECT product_id , YEAR(purchase_date) year FROM Orders GROUP BY 1, 2 HAVING COUNT(order_id) >= 3 ) SELECT distinct s1.product_id FROM sub s1 JOIN sub s2 ON s1.product_id = s2.product_id AND s1.year = s2.year + 1Accepted (39.53%)
'SQL 문제풀이' 카테고리의 다른 글
leetcode - 1767. Find the Subtasks That Did Not Execute (0) 2022.09.20 leetcode - DescriptionSolutionDiscuss (49)Submissions2298. Tasks Count in the Weekend (0) 2022.09.19 leetcode -2238. Number of Times a Driver Was a Passenger (0) 2022.09.19 leetcode - 1635. Hopper Company Queries I (0) 2022.09.16 leetcode - 2228. Users With Two Purchases Within Seven Days (0) 2022.09.15