-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rising Teperature 26-9-22
64 lines (47 loc) · 1.46 KB
/
Rising Teperature 26-9-22
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
63
64
Problem Statement
link - https://www.codingninjas.com/codestudio/problems/rising-temperature_2110761?topList=top-100-sql-problems
Table: Weather
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| recordDate | date |
| temperature | int |
+---------------+---------+
id is the primary key for this table.
This table contains information about the temperature in a certain day.
Write an SQL query to find all dates' id with higher temperature compared to its previous dates (yesterday).
Return the result table in any order.
The query result format is in the following example:
Weather
+----+------------+-------------+
| id | recordDate | Temperature |
+----+------------+-------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+----+------------+-------------+
Result table:
+----+
| Id |
+----+
| 2 |
| 4 |
+----+
In 2015-01-02, temperature was higher than the previous day (10 -> 25).
In 2015-01-04, temperature was higher than the previous day (20 -> 30).
solution 1--
with temp(date,temp1) as
(select recordDate , Temperature from Weather)
select id as "Id"
from Weather w1
join temp
on w1.recordDate-1= temp.date
and w1.Temperature> temp.temp1
solution 2 -----
select w1.id as "Id"
from Weather w1
join Weather w2
on w1.recordDate -1 = w2.recordDate
and w1.Temperature > w2.Temperature