LeetCode MySQL 1164. 指定日期的产品价格 *
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 1164. 指定日期的产品价格 *
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
產(chǎn)品數(shù)據(jù)表: Products
+---------------+---------+ | Column Name | Type | +---------------+---------+ | product_id | int | | new_price | int | | change_date | date | +---------------+---------+ 這張表的主鍵是 (product_id, change_date)。這張表的每一行分別記錄了 某產(chǎn)品 在某個(gè)日期 更改后 的新價(jià)格。
寫一段 SQL來查找在 2019-08-16 時(shí)全部產(chǎn)品的價(jià)格,
假設(shè)所有產(chǎn)品在修改前的價(jià)格都是 10。
查詢結(jié)果格式如下例所示:
Products table: +------------+-----------+-------------+ | product_id | new_price | change_date | +------------+-----------+-------------+ | 1 | 20 | 2019-08-14 | | 2 | 50 | 2019-08-14 | | 1 | 30 | 2019-08-15 | | 1 | 35 | 2019-08-16 | | 2 | 65 | 2019-08-17 | | 3 | 20 | 2019-08-18 | +------------+-----------+-------------+Result table: +------------+-------+ | product_id | price | +------------+-------+ | 2 | 50 | | 1 | 35 | | 3 | 10 | +------------+-------+來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/product-price-at-a-given-date
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
# Write your MySQL query statement below select t1.product_id, ifnull(t2.new_price, 10) price from (select distinct product_id from Products ) t1 left join (select product_id, new_pricefrom Productswhere (product_id, change_date) in(select product_id, max(change_date) change_datefrom Productswhere change_date <= '2019-08-16'group by product_id) ) t2 on t1.product_id = t2.product_id我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode MySQL 1164. 指定日期的产品价格 *的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云 超级码力在线编程大赛初赛 第3场
- 下一篇: LeetCode 336. 回文对(哈希