-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path66.sql
More file actions
62 lines (51 loc) · 1.97 KB
/
66.sql
File metadata and controls
62 lines (51 loc) · 1.97 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
-- Question 66
-- Table: Sales
-- +---------------+---------+
-- | Column Name | Type |
-- +---------------+---------+
-- | sale_date | date |
-- | fruit | enum |
-- | sold_num | int |
-- +---------------+---------+
-- (sale_date,fruit) is the primary key for this table.
-- This table contains the sales of "apples" and "oranges" sold each day.
-- Write an SQL query to report the difference between number of apples and oranges sold each day.
-- Return the result table ordered by sale_date in format ('YYYY-MM-DD').
-- The query result format is in the following example:
-- Sales table:
-- +------------+------------+-------------+
-- | sale_date | fruit | sold_num |
-- +------------+------------+-------------+
-- | 2020-05-01 | apples | 10 |
-- | 2020-05-01 | oranges | 8 |
-- | 2020-05-02 | apples | 15 |
-- | 2020-05-02 | oranges | 15 |
-- | 2020-05-03 | apples | 20 |
-- | 2020-05-03 | oranges | 0 |
-- | 2020-05-04 | apples | 15 |
-- | 2020-05-04 | oranges | 16 |
-- +------------+------------+-------------+
-- Result table:
-- +------------+--------------+
-- | sale_date | diff |
-- +------------+--------------+
-- | 2020-05-01 | 2 |
-- | 2020-05-02 | 0 |
-- | 2020-05-03 | 20 |
-- | 2020-05-04 | -1 |
-- +------------+--------------+
-- Day 2020-05-01, 10 apples and 8 oranges were sold (Difference 10 - 8 = 2).
-- Day 2020-05-02, 15 apples and 15 oranges were sold (Difference 15 - 15 = 0).
-- Day 2020-05-03, 20 apples and 0 oranges were sold (Difference 20 - 0 = 20).
-- Day 2020-05-04, 15 apples and 16 oranges were sold (Difference 15 - 16 = -1).
-- Solution
select sale_date, sold_num-sold as diff
from
((select *
from sales
where fruit = 'apples') a
join
(select sale_date as sale_date_o, fruit, sold_num as sold
from sales
where fruit = 'oranges') b
on a.sale_date = b.sale_date_o)