首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQLite中查找最长的公共日期跨度

在SQLite中查找最长的公共日期跨度
EN

Stack Overflow用户
提问于 2018-07-17 20:41:55
回答 0查看 76关注 0票数 0

我有一个包含一些股票数据的SQLite数据库。第一列是日期时间,最后一列是股票的股票代码/名称。其他列是价格和数量,但在这里不相关。

下面是头部和尾部:

代码语言:javascript
复制
    sqlite> select * from History order by dt ASC limit 5;
    "2003-01-02 11:00:00",9.65,9.65,9.65,9.65,1000.0,ACY
    "2003-01-02 11:00:00",62.0,62.0,62.0,62.0,30000.0,AMER
    "2003-01-02 11:00:00",0.345,0.345,0.34,0.34,60000.0,CNR
    "2003-01-02 11:00:00",1.41,1.41,1.41,1.41,45000.0,CRU
    "2003-01-02 11:00:00",32.8,32.85,32.8,32.85,38000.0,DNBNOR
    sqlite> select * from History order by dt DESC limit 5;
    "2010-04-09 19:15:00",3.045,3.05,3.045,3.05,6000.0,ACTA
    "2010-04-09 19:15:00",117.4,117.4,117.1,117.1,14900.0,ACY
    "2010-04-09 19:15:00",3.15,3.15,3.15,3.15,7800.0,AGI
    "2010-04-09 19:15:00",160.25,160.25,160.25,160.25,11300.0,AKER
    "2010-04-09 19:15:00",94.925,94.925,94.65,94.775,32900.0,AKSO

如你所见,我有从2003年到2010年的数据,大约有130只股票。但由于合并、交换等原因,并不是所有的股票都在同一时间范围内。

我想要的是计算出大多数股票共有的(最长的)时间跨度,假设130只股票中有50只股票在2004-2010年左右,并返回这些股票的日期范围和名称。这可以使用SQLite实现吗?

编辑:我认为基本输出可能是什么样子的示例

代码语言:javascript
复制
starttime              endtime                totaltime  stock
"2003-01-02 11:00:00", "2010-04-09 19:15:00", 12345678, ACY
"2003-01-02 11:00:00", "2007-01-07 16:00:00", 12345,    CNR
...

然后我可以通过totaltime进行排序,以查看哪些股票拥有最多的数据。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51381676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档