当前位置:  开发笔记 > 数据库 > 正文

Sqlite3:需要笛卡儿约会

如何解决《Sqlite3:需要笛卡儿约会》经验,为你挑选了0个好方法。

我有一个表,它是在sqlite3数据库中播放的游戏列表.字段"datetime"是游戏结束时的日期时间.字段"持续时间"是游戏持续的秒数.我想知道过去24小时里有多少百分比至少有5场比赛同时进行.我想知道在给定时间运行的游戏有多少:

select count(*)
from games
where strftime('%s',datetime)+0 >= 1257173442 and
      strftime('%s',datetime)-duration <= 1257173442

如果我的桌子只是每秒钟(或每30秒钟或某些东西)的列表,我可以做一个有意的卡地亚产品,如下所示:

select count(*)
from (
  select count(*) as concurrent, d.second
  from games g, date d
  where strftime('%s',datetime)+0 >= d.second and
        strftime('%s',datetime)-duration <= d.second and
        d.second >= strftime('%s','now') - 24*60*60 and
        d.second <= strftime('%s','now')
  group by d.second) x
where concurrent >=5

有没有办法动态创建这个日期表?或者我可以得到类似的效果,而不必实际创建一个新表,这只是本周所有秒的列表?

谢谢

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有