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

SQL,查询每天最接近指定时间的记录

Oracle 数据库的某表有一列是日期时间类型,每天对应多条数据:

td
1.1.2024 08:08:081
1.1.2024 10:10:102
1.1.2024 15:15:153
1.1.2024 20:20:204
2.1.2024 09:09:095
2.1.2024 12:12:126
2.1.2024 16:16:167
12.12.2024 16:16:168

现在要从每天找出两条记录,一条离当天的早 8 点最近,一条离当天的晚 20 点最近。

td
1.1.2024 08:08:081
1.1.2024 20:20:204
2.1.2024 09:09:095
2.1.2024 16:16:167
12.12.2024 16:16:168
12.12.2024 16:16:168

编写SPL代码

 A
1=orcl.query("select * from tb”)
2=A1.group(day(t))
3=A2.conj([~.minp(abs(interval@s(time("08:00:00"),time(t)))),~.minp(abs(interval@s(time("20:00:00"),time(t))))])

A1:通过JDBC查询数据库。

A2:按日期分组,但不汇总,以便后续处理每组数据。

A3:对每组数据,计算组内每条记录与当天8点的间隔秒数,取绝对值,求绝对值最小的那条记录;同理算出来与20点间隔秒数的绝对值最小的记录;最后合并各组的处理结果。minp函数用于计算符合条件的最小的记录。

SPL已开源免费,欢迎前往乾学院社区了解更多!

SPL源码地址

免费下载试用

http://www.lryc.cn/news/502817.html

相关文章:

  • ElasticSearch如何做性能优化?
  • 【Linux】虚拟空间布局模型地址回填数据段合并(万字详解)
  • const和修饰指针的几种用法
  • mybatis事务的自动提交与手动提交
  • 网络安全协议之比较(SSH、PKI、SET、SSL)
  • Vue的生命周期方法
  • ISP和IQ调试(一)
  • c# TaskScheduler
  • 可视化数据
  • 【Redis】Redis缓存击穿
  • 厦门凯酷全科技有限公司深耕抖音电商运营
  • 六西格玛DMAIC在企业得项目管理中有什么作用
  • vscode借助插件调试OpenFoam的正确的.vscode配置文件
  • SpringBoot整合JWT(JSON Web Token)生成token与验证
  • 把帕拉丁需要的.rom文件转成.bin
  • Nginx 缓存那些事儿:原理、配置和最佳实践
  • vue发展史
  • 基于Java和Vue开发的校园跑腿软件校园跑腿小程序系统源码
  • MySQL(五)--- 事务
  • llm chat场景下的数据同步
  • 机器学习经典算法
  • Scala中的泛型
  • 数据分析特征标准化方法及其Python实现
  • UnityShaderLab 实现程序化形状(一)
  • 前端数据安全防护(控制台)
  • 自己玩虚拟机:vagrant,virtual box,centos
  • Frida框架HOOK RegisterNatives函数
  • [创业之路-189]:《华为战略管理法-DSTE实战体系》-2- 生存与发展的双重旋律:短期与长期、战术与战略的交响乐章
  • TDengine 部署
  • 【前端】20种 Button 样式