手机微信网站设计,空间一个数据库可以做几个网站,wordpress缓存图片,自己如何做app题目
产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格#xff0c;假设所有产品在修改前的价格都是 10 。
以 任意顺序 返回结果表。
查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格#xff0c;假设所…题目
产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格假设所有产品在修改前的价格都是 10 。
以 任意顺序 返回结果表。
查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格假设所有产品在修改前的价格都是 10 。我们可以分成2部分来进行查询。 2.把第一次change_date在2019-08-16之后的单独分出来这部分的price肯定是10因为初始值是10。我们先将记录按照 product_id 进行分组然后找出每一组中最小的 change_date 都小于2019-08-16的记录它们的price就为10。 3.剩下的作为另外一部分 另外一部分中选出在2019-08-16之前最大的那天的price作为最终price。首先将记录按 product_id进行分组然后找出每一组中最大的change_date 2019-08-16的记录它们的price就为 new_price 最后两部分做union即可。 代码实现
(select product_id , 10 as price
from Products
group by product_id
having min(change_date)2019-08-16)
union
(select product_id, new_price as price
from Products
where(product_id, change_date) in(select product_id, max(change_date) as change_datefrom Productswhere change_date 2019-08-16group by product_id))测试结果