[SQL] 197. Rising Temperature
![[SQL] 197. Rising Temperature](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1732163502846%2F7cfc0bed-83b3-4fbb-8075-605df3d8edef.png&w=3840&q=75)
A passionate full-stack developer from @ePlus.DEV
Search for a command to run...
![[SQL] 197. Rising Temperature](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1732163502846%2F7cfc0bed-83b3-4fbb-8075-605df3d8edef.png&w=3840&q=75)
A passionate full-stack developer from @ePlus.DEV
No comments yet. Be the first to comment.
SQL is a standard language for storing, manipulating and retrieving data in databases. Our SQL tutorial will teach you how to use SQL in: MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres, and other database systems.
Table: Users +-------------+---------+ | Column Name | Type | +-------------+---------+ | user_id | int | | user_name | varchar | +-------------+---------+ user_id is the primary key (column with unique values) for this table. Each row o...
Một bản tin giúp Developer cập nhật nhanh AI, Cloud, Open Source và những công nghệ đáng chú ý trong ngày. 📌 Executive Summary Vercel AI Gateway thêm Grok Imagine Image 2.0 Preview, đưa image gene

Một bản tin giúp Developer cập nhật nhanh AI, Cloud, Open Source và những công nghệ đáng chú ý trong ngày. 📌 Executive Summary Cloudflare đang hợp nhất Workers AI và AI Gateway thành một control p

Một bản tin giúp Developer cập nhật nhanh AI, Cloud, Open Source và những công nghệ đáng chú ý trong ngày. 📌 Executive Summary GitHub thay đổi hành vi của Code Quality: bật Code Quality sẽ không c

Một bản tin giúp Developer cập nhật nhanh AI, Cloud, Open Source và những công nghệ đáng chú ý trong ngày. 📌 Executive Summary OpenAI thay đổi thời điểm tính phí seat mới của ChatGPT Business từ n

Overview Dataplex is an intelligent data fabric that enables organizations to centrally discover, manage, monitor, and govern their data across data lakes, data warehouses, and data marts to power ana

Table: Weather
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| recordDate | date |
| temperature | int |
+---------------+---------+
id is the column with unique values for this table.
There are no different rows with the same recordDate.
This table contains information about the temperature on a certain day.
Write a solution to find all dates' id with higher temperatures compared to its previous dates (yesterday).
Return the result table in any order.
The result format is in the following example.
Example 1:
Input:
Weather table:
+----+------------+-------------+
| id | recordDate | temperature |
+----+------------+-------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+----+------------+-------------+
Output:
+----+
| id |
+----+
| 2 |
| 4 |
+----+
Explanation:
In 2015-01-02, the temperature was higher than the previous day (10 -> 25).
In 2015-01-04, the temperature was higher than the previous day (20 -> 30).
To solve this problem, we need to compare the temperature of each day with the temperature of its previous day. Here's how to approach it:
Self-Join the Table:
Weather table with itself (w1 and w2), where the recordDate of w2 is exactly one day before the recordDate of w1.Compare Temperatures:
w1.recordDate is greater than the temperature on w2.recordDate.Select Relevant Columns:
id of the days that meet the criteria.SELECT
w1.id
FROM
Weather w1
JOIN
Weather w2
ON
DATE(w1.recordDate) = DATE(w2.recordDate) + INTERVAL 1 DAY
WHERE
w1.temperature > w2.temperature;
Self-Join:
w1 and w2 are aliases for the Weather table.
The ON clause ensures that w2.recordDate is one day before w1.recordDate.
Filter with WHERE:
w1 is higher than the temperature of w2.Select w1.id:
id of the records that satisfy the condition.For the given input example:
| id | recordDate | temperature |
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
The result will be:
| id |
| 2 |
| 4 |
The + INTERVAL 1 DAY operation ensures the correct date comparison.
This query works efficiently as there are no duplicate dates in the Weather table.