当前位置: 首页 > news >正文

力扣高频SQL 50题(基础版)第四十题之1164. 指定日期的产品价格

文章目录

  • 力扣高频SQL 50题(基础版)第四十题
    • 1164. 指定日期的产品价格
      • 题目说明
      • 实现过程
        • 准备数据
        • 实现方式
        • 结果截图
        • 总结
          • FIRST_VALUE()函数
          • LAST_VALUE()函数
          • NTH_VALUE()函数
      • LAST_VALUE()函数
          • NTH_VALUE()函数

力扣高频SQL 50题(基础版)第四十题

1164. 指定日期的产品价格

题目说明

产品数据表: Products

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| product_id | int |

| new_price | int |

| change_date | date |

±--------------±--------+

(product_id, change_date) 是此表的主键(具有唯一值的列组合)。

这张表的每一行分别记录了 某产品 在某个日期 更改后 的新价格。

编写一个解决方案,找出在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10

任意顺序 返回结果表。

实现过程

准备数据
Create table If Not Exists Products (product_id int, new_price int, change_date date)
Truncate table Products
insert into Products (product_id, new_price, change_date) values ('1', '20', '2019-08-14')
insert into Products (product_id, new_price, change_date) values ('2', '50', '2019-08-14')
insert into Products (product_id, new_price, change_date) values ('1', '30', '2019-08-15')
insert into Products (product_id, new_price, change_date) values ('1', '35', '2019-08-16')
insert into Products (product_id, new_price, change_date) values ('2', '65', '2019-08-17')
insert into Products (product_id, new_price, change_date) values ('3', '20', '2019-08-18')
实现方式
select distinct product_id,first_value(if(change_date<='2019-08-16',new_price,10)) over (partition by product_id order by (if(change_date<='2019-08-16',change_date,0))desc) price
from products;
结果截图

在这里插入图片描述

总结
FIRST_VALUE()函数

FIRST_VALUE()函数用于返回当前第一个值。

LAST_VALUE()函数

LAST_VALUE()函数用于返回当前最后一个值

NTH_VALUE()函数

LAST_VALUE()函数

LAST_VALUE()函数用于返回当前最后一个值

NTH_VALUE()函数

NTH_VALUE()函数用于返回有序行的第n小的值

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • mysql事务与索引
  • 浅谈 Spring AOP框架 (2)——Spring统一功能处理
  • 24.8.5数据结构|栈
  • vscode ssh-remote 疑似内存泄漏问题
  • 两轮电动车行业竞争激烈,九号公司如何破局
  • uniapp点击图片预览,关闭预览图片后自动触发onshow生命周期,怎么解决?
  • Windows 环境使用 Docker 安装 ES Kibana 8.12.2 及analysis-ik插件
  • 【黑马】MyBatis
  • pythonUI自动化008::allure测试报告(安装及应用)
  • sed命令笔记
  • 基于SpringBoot+Vue校园失物招领系统的设计与实现
  • 【将Python程序打包成一个可执行文件】
  • Spring Data JPA 自动创建时间的相关注解和用法
  • vue前后端交互学习问题记录2
  • LeetCode 第二十三天 2024.8.9
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • ES6核心特性
  • iOS编译提示和导航提示
  • Java方法详解
  • java概述
  • Js基础知识(一) - 变量
  • JS学习笔记——闭包
  • LeetCode算法系列_0891_子序列宽度之和
  • orm2 中文文档 3.1 模型属性
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 测试开发系类之接口自动化测试
  • 前端技术周刊 2019-02-11 Serverless
  • 算法-插入排序
  • 终端用户监控:真实用户监控还是模拟监控?
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (分布式缓存)Redis分片集群
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (转)ABI是什么
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Framework 3.5安装教程
  • .NET IoC 容器(三)Autofac
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .sys文件乱码_python vscode输出乱码
  • /*在DataTable中更新、删除数据*/
  • /usr/bin/env: node: No such file or directory
  • @GetMapping和@RequestMapping的区别
  • @Slf4j idea标红Cannot resolve symbol ‘log‘
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • []串口通信 零星笔记
  • [BT]BUUCTF刷题第8天(3.26)
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [CAN] 创建解析CAN报文DBC文件教程
  • [Codeforces] probabilities (R1600) Part.1
  • [CQOI 2011]动态逆序对
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解