-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProduct Sales Analysis III
47 lines (39 loc) · 1.35 KB
/
Product Sales Analysis III
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Write an SQL query that selects the product id, year, quantity, and price for the first year of every product sold.
The query result format is in the following example:
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 |
+------------+------------+----------+-------+
Answer:
WITH FIRST_YEAR_PRODUCT AS (
SELECT PRODUCT_ID,
MIN(YEAR) AS FIRST_YEAR
FROM SALES
GROUP BY PRODUCT_ID
)
SELECT F.PRODUCT_ID,
F.FIRST_YEAR,
S.QUANTITY,
S.PRICE
FROM FIRST_YEAR_PRODUCT F
JOIN SALES S ON F.PRODUCT_ID = S.PRODUCT_ID AND F.FIRST_YEAR = S.YEAR
;