SQL 分析函数之KEEP
业务场景:需要在表中查询日期最大所在的行中利率的值。
场景复现:
先制造临时表数据:
WITH bond_yield AS(
SELECT 1 id, '20201012' tradedate , 'a' bond,2.95 yield FROM dual UNION ALLSELECT 2 id, '20201013' tradedate , 'a' bond,2.85 yield FROM dual UNION ALLSELECT 3 id, '20201014' tradedate , 'a' bond,2.91 yield FROM dual UNION ALLSELECT 4 id, '20201015' tradedate , 'a' bond,2.77 yield FROM dual UNION ALLSELECT 5 id, '20201012' tradedate , 'b' bond,2.32 yield FROM dual UNION ALLSELECT 6 id, '20201013' tradedate , 'b' bond,2.35 yield FROM dual UNION ALLSELECT 7 id, '20201014' tradedate , 'b' bond,2.67 yield FROM dual UNION ALLSELECT 8 id, '20201015' tradedate , 'b' bond,2.39 yield FROM dual
)select * from bond_yield
现在要查询日期最大且bond为a的利率的值
SELECT w.bond, MAX(w.yield) KEEP(DENSE_RANK last ORDER BY w.tradedate) yield FROM bond_yield w where w.bond='a' group by bond;
关键字解释:
KEEP
keep的意思就是“保持”,会保持满足括号内条件的记录,用ORDER BY 后自然会有FIRST和LAST了。
DENSE_RANK
DENSE_RANK是排序策略。例如,它会将两个第二名排在第一名之后,之后还是第三名排在第二名之后。
FIRST/LAST
FIRST/LAST就是对数据进行筛选了。这里我们筛选tradedate最大的记录。如果日期是一样的。就需要使用MAX()选取最大的值。
SQL 分析函数之KEEP相关推荐
- DLA SQL分析函数:SQL语句审计与分析的利器
1. 简介 Data Lake Analytics(https://www.aliyun.com/product/datalakeanalytics)最新release一组SQL内置函数,用来进行SQ ...
- Oracle之SQL分析函数
这个做统计分析的时候就用的比较多了,咱们来看一下ORACLE的分析函数,就是OVER函数,OVER PARTITION BYOVER PARTITION BY ORDER BY,还有row_numbe ...
- Hive SQL 分析函数
本文首发于:大数据每日哔哔-Hive 分析函数 Hive 分析函数 应用场景 (1)用于分区排序<br />(2)Top N<br />(3)层次查询 <a name=& ...
- 数仓开发5大SQL分析函数
基本语法 analytic_function_name([argument_list]) OVER ( [PARTITION BY partition_expression,-] [ORDER BY ...
- 数仓开发需要了解的5大SQL分析函数
公众号『大数据技术与数仓』,回复『资料』领取大数据资料包 基本语法 analytic_function_name([argument_list]) OVER ( [PARTITION BY parti ...
- mysql sql总计函数_请问select SQL 语言中常用的合计函数有哪些?
1.sql中sum和count的区别 ----sql聚合函数 (1)首先,sum是对一个字段求和,hive中字段的类型一般是string或者是int,如果是int当然没有问题,如果是string类型但 ...
- Oracal回顾--分析函数总结(1)
从事大数据数仓相关工作几年,今天偶然回去复习了 一下oracle的sql分析函数(hive中有些区别,后续还会总结),发现之前总结的还是有不少精华部分,故作此记录,以提醒自己要温故而知新,方可进步,否 ...
- 创建和准备Oracle样例数据库
一 创建Oracle样例数据库 此处有一个Oracle创建数据库和表和插入数据的脚本: http://www.forta.com/books/0672336073/ 亦可在此下载: http://pa ...
- MongoDB 5.0新特性概览
简介:MongoDB 5.0标志着一个新的发布周期的到来,以更快地交付新特性给到用户.版本化API与在线重新分片相结合,使用户不必担心未来的数据库升级以及业务变化问题:本地原生时间序列数据平台也使Mo ...
最新文章
- python函数参数理解
- dede调用sql语句的方法
- python搭建简单http文件服务器
- 基于SMB协议的共享文件读写 博客分类: Java
- TP查询数据库多维数组
- 【定时任务】JDK java.util.Timer定时器的实现原理
- oracle不能访问管理页面,Oracle Grid Control CONSOLE无法打开9i数据库的管理维护页面...
- Python爬虫批量下载糗事百科段子,怀念的天王盖地虎,小鸡炖蘑菇...
- python 连接Oracle数据库,cx_Oracle
- 【云周刊】第200期:云栖专辑 | 阿里开发者们的第6个感悟:享受折磨
- JavaScript模块知识理解
- 4、RH850 F1 定时器OSTM功能和配置
- 今日,立秋。秋季养生篇。
- 用Xbrowser连接CentOS
- 在delphi 获取特殊目录 SHGetSpecialFolderLocation SHGetPathFromIDList
- 关于云音乐数据治理的实践与思考
- 3D模型:免费3D模型下载网站推荐
- 1.python网页设计,点击按键显示对话窗口
- Hello World小程序笔记
- 记一次阿里电话面试| 技术征文
热门文章
- 火星特约 | Uniswap的UNI对DEX格局的影响
- jquery前端简单分页_如何使用jQuery创建简单的分页
- Python的异步编程介绍
- e5cz温控表中文说明书_欧姆龙温控器e5cz说明书 OMRON温控表E5EC说明书
- Java 中 字符串 1234 怎么转成 int?
- WINDOWS 系统自定义编程 键盘
- Day005 - 循环练习与列表基础
- 最好的体育测试软件,体育锻炼标准测试app
- 一本书读懂财报 | 资产负债表剖析
- dede php,织梦(Dedecms){dede:php}{/dede:php}如何运用