Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit cf7a246

Browse files
Update readme.md
1 parent 7863db6 commit cf7a246

File tree

1 file changed

+19
-12
lines changed
  • LeetCode SQL 50 Solution/1164. Product Price at a Given Date

1 file changed

+19
-12
lines changed

‎LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md‎

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,25 @@ FROM
8686

8787
### **2️⃣ Window Function (SQL) Solution**
8888
```sql
89-
WITH RankedPrices AS (
90-
SELECT
91-
product_id,
92-
new_price AS price,
93-
change_date,
94-
RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC) AS rnk
95-
FROM Products
96-
WHERE change_date <= '2019年08月16日'
97-
)
98-
SELECT p.product_id, COALESCE(rp.price, 10) AS price
99-
FROM (SELECT DISTINCT product_id FROM Products) p
100-
LEFT JOIN RankedPrices rp ON p.product_id = rp.product_id AND rp.rnk = 1;
89+
# Write your MySQL query statement below
90+
# Write your MySQL query statement below
91+
WITH
92+
T AS (SELECT DISTINCT product_id FROM Products),
93+
P AS (
94+
SELECT product_id, new_price AS price
95+
FROM Products
96+
WHERE
97+
(product_id, change_date) IN (
98+
SELECT product_id, MAX(change_date) AS change_date
99+
FROM Products
100+
WHERE change_date <= '2019年08月16日'
101+
GROUP BY 1
102+
)
103+
)
104+
SELECT product_id, IFNULL(price, 10) AS price
105+
FROM
106+
T
107+
LEFT JOIN P USING (product_id);
101108
```
102109
#### **Explanation:**
103110
1. **`RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC)`**

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /