博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何选择行的第一个和最后一个值 之间间隔为5分钟
阅读量:7237 次
发布时间:2019-06-29

本文共 1031 字,大约阅读时间需要 3 分钟。

我有与样本外汇一分钟栏报价表。

id,quote_name,quote_date,quote_time,open_rate,close_rate,high_rate,low_rate "1417","EURUSD","2015-01-01","13:01:00","1.2096","1.2096","1.2097","1.2096" "1418","EURUSD","2015-01-01","13:02:00","1.2097","1.2096","1.2097","1.2096" "1419","EURUSD","2015-01-01","13:04:00","1.2096","1.2098","1.2101","1.2096" "1420","EURUSD","2015-01-01","13:05:00","1.2099","1.2099","1.2099","1.2099"

有可能创建 select 语句将返回 5 分钟间隔报价。我的意思是它应该选择 5 行每个 5 的格拉斯间隔和返回 open_rate 从第一行中,从上次的报价和 min close_rate 和最大的 high_rate 和 low_rate 之间。 这根本是可能的吗?如何做到这一点。

我所知道的是,如何选择最小和最大值两个日期之间。

解决方法 1:

五分钟的时间间隔是有点疼。 一种方法是将转换为秒和除以 300。 然后,获得第一和最后也是棘手。 在这种情况下,建议技巧使用 substring_index() 和 group_concat() :

select quote_date, min(open_time) as open_time, substring_index(group_concat(open_rate order by quote_time), ',', 1) as first_open, substring_index(group_concat(close_rate order by quote_time desc), ',', 1) as last_close, min(high_rate), max(high_rate), min(low_rate), max(low_rate) from quotes group by quote_date, floor(to_seconds(quote_time) / 300);

 

翻译来自: 

转载地址:http://deofm.baihongyu.com/

你可能感兴趣的文章
ES6 class setTimeout promise async/await 测试Demo
查看>>
Glace:generator-jhipster, adding User entity enhancement management
查看>>
SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑
查看>>
9 CSS in JS Libraries You Should Know in 2018
查看>>
webstorm 设置js或者html文件自动缩进为4个空格不生效
查看>>
IntelliJ IDEA创建maven多模块项目
查看>>
108. 将有序数组转换为二叉搜索树
查看>>
DBeaver连接MySQL 8.0显示"Unable to load authentication plugin 'caching_sha2_password'."错误的问题...
查看>>
Maven的作用、用途、内涵、愿景
查看>>
ref与out区别(ref有进有出,而out只出不进)
查看>>
WPF中应用字体图标
查看>>
Redis(2)-----初识Redis-----基础redis命令
查看>>
Python爬虫项目整理
查看>>
UNIX PIPES 管道原稿
查看>>
使用remix发布部署 发币 智能合约
查看>>
verilog语法实例学习(1)
查看>>
杭电2079
查看>>
Delphi单元--共50个函数
查看>>
(原創) 如何將Quartus II 7.2所建立的SOPC系統升級到Quartus II 8.0? (SOC) (Quartus II) (SOPC Builder)...
查看>>
如果不使用 Navigate2 的方法去访问现有页面,如何将JS写到该浏览器中???
查看>>