34 - 指定日期的产品价格(高频 SQL 50 题基础版)

34 - 指定日期的产品价格


sql 复制代码
-- row_number(行号) 生成连续的序号,不考虑分数相同
-- 在'2019-08-16'之前改的价格,使用最近一期的日期,没有在'2019-08-16'之前改的价格,默认价格为10
select 
    t.product_id, 
    t.new_price as price
from 
    (
        select 
            *,
            row_number() over (PARTITION BY product_id order by change_date desc) as row_num
        from 
            Products
        where 
            change_date<='2019-08-16') 
    as t
where 
    t.row_num=1
union
-- 没有在'2019-08-16'之前改的价格,默认价格为10
select 
    product_id, 10 as price 
from 
    Products 
group by 
    product_id
having 
    min(change_date)>'2019-08-16';
相关推荐
精益数智工坊2 分钟前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
nbwenren12 分钟前
办公AI实测:Gemini3、GPT-4o、Claude3.5谁更强?
服务器·数据库·php
2401_8242226916 分钟前
如何卸载并重装Oracle Grid_Deinstall脚本与ASM磁盘清理
jvm·数据库·python
杨云龙UP19 分钟前
Oracle数据库启动失败:ORA-29701、ORA-01565、ORA-17503故障处理记录_20260429
linux·运维·数据库·oracle·centos
qq_4142565719 分钟前
生产库如何利用Navicat实现配置特定触发器事件调度_提高管理效率
jvm·数据库·python
2301_8084143821 分钟前
MySQL表的约束
数据库·mysql
2301_7756398925 分钟前
mysql如何查看服务器支持的存储引擎_使用SHOW ENGINES命令
jvm·数据库·python
a7963lin27 分钟前
html标签怎样表示搜索框_input type=search语义优化【操作】
jvm·数据库·python
a7963lin31 分钟前
Python数据分析如何识别异常值_IQR四分位距检测法实战
jvm·数据库·python
m0_6138562933 分钟前
如何解决宝塔面板Web端文件管理器打开目录时反应极其缓慢
jvm·数据库·python