我的项目用的是MySQL,但也想同时请教下在Oracle、SqlServer中应该如何处理如下问题:

有数据表如下所示:

希望从表中抽取数据,要求两条记录的时间间隔至少2分钟

对下面图片中的数据而言,假如我查询的时间范围是从2014-08-10 23:20:00开始的,

则希望抽取到如下结果集:

'83', '57', '10041', '74.27', '0', '2014-08-10 23:20:04'

'113', '57', '10041', '59.25', '0', '2014-08-10 23:22:06'

'145', '57', '10041', '96.21', '0', '2014-08-10 23:24:07'

'177', '57', '10041', '34.16', '0', '2014-08-10 23:26:08'

'209', '57', '10041', '39.11', '0', '2014-08-10 23:28:09'

真实的场景是:传感器每隔30秒左右会向数据库里写一条记录,我要取N天的数据绘图,如果一次性查询N天的记录再进行抽稀的话,由于结果集太大,循环次数过多,导致时耗严重。我希望能通过sql语句直接在数据库层面进行数据抽稀,程序里要处理的数据就会少很多。

问题就是,应该如何写SQL语句?谢谢各位!

a928ea6debf84b91db7b26a2b7060863.png

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐