时间段内间隔查询,出现时间接近的重复行,请各位老师帮看看问题在哪里

hj686868 2017-02-28 02:18:59
这是在MYSQL下查询结果,在MSSQL下查询结果和这一样
下面这个是10分钟间隔查询结果

下面这个是30分钟间隔查询结果

出现时间接近的重复行,请各位老师帮看看问题在哪里,应该怎么处理才能不重复

...全文
420 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2017-03-03
  • 打赏
  • 举报
回复
数据量大,把 BETWEEN 条件也加到子查询中。
hj686868 2017-03-03
  • 打赏
  • 举报
回复
执行后,一直运行,查询一直不停,无返回数据
Tiger_Zhao 2017-03-03
  • 打赏
  • 举报
回复
关键字没变色,拼写错误:EXISTS
我说了“(MySql不熟,思路表示一下)”,在记事本上直接打出来的代码没地方调试,更正工作得你来做啊!
hj686868 2017-03-03
  • 打赏
  • 举报
回复
感谢你的回答
hj686868 2017-03-03
  • 打赏
  • 举报
回复
这个查询语句多少钱?
Tiger_Zhao 2017-03-03
  • 打赏
  • 举报
回复

什么都不会,出钱找外包。
hj686868 2017-03-03
  • 打赏
  • 举报
回复
把 BETWEEN 条件也加到子查询中,具体怎么添加???谢谢
hj686868 2017-03-02
  • 打赏
  • 举报
回复

我那错了吧?
hj686868 2017-03-02
  • 打赏
  • 举报
回复
我试一下........
Tiger_Zhao 2017-03-02
  • 打赏
  • 举报
回复
我#6不是?
hj686868 2017-03-02
  • 打赏
  • 举报
回复
时间段内,每10分钟取一行
Tiger_Zhao 2017-03-02
  • 打赏
  • 举报
回复
请明确定义“一组”的概念!!!
1条?10条?全部?
hj686868 2017-03-02
  • 打赏
  • 举报
回复
例如:在数据库获取2017-02-01 13:31:01 到2017-02-17 13:31:01期间,这个时间段内每间隔10分钟的取一组数据
Tiger_Zhao 2017-03-02
  • 打赏
  • 举报
回复
什么叫做“某个时间段内每10分钟取一组数据 ”?
请举例
hj686868 2017-03-01
  • 打赏
  • 举报
回复
应该就是楼上说的问题引起的,这个倍数有时会跳过几个小时的数据。 我是想查询显示一个表的的 “某个时间段内每10分钟取一组数据 ”(这个值我通过VB变量设定),查询该怎么写呢?
hj686868 2017-03-01
  • 打赏
  • 举报
回复
我需要的是每10分钟一组数据,上面数据有的直接跳过几个小时
Tiger_Zhao 2017-03-01
  • 打赏
  • 举报
回复
只对第一张图(10分钟间隔)进行讨论。
首先 XXX % 10 = 0 是只求正好间隔时间为10分钟整倍数的记录;
以图中的起始时间 13:32:32 为例:
如果时段 13:42:32~13:43:31 之间没有记录,就没有间隔10分钟的结果
如果时段中有多条记录,就会返回多条间隔10分钟的结果。

你的需求是时段 13:42:32~13:52:31 内只取第一条记录?
那么应该用(MySql不熟,思路表示一下)

SELECT *
FROM hj69
WHERE x1_t20_q00_TIMESTAMP BETWEEN ... AND ...
AND NOT EXITS (SELECT *
FROM hj69 t
WHERE -- 同一段10分钟
FLOOR(TIMESTAMPDIFF(MINUTE,...,t.x1_t20_q00_TIMESTAMP)/10) =
FLOOR(TIMESTAMPDIFF(MINUTE,...,hj69.x1_t20_q00_TIMESTAMP)/10)
AND -- 时段内最小
t.x1_t20_q00_TIMESTAMP < hj69.x1_t20_q00_TIMESTAMP
)
二月十六 2017-02-28
  • 打赏
  • 举报
回复
引用 3 楼 hj13723155888 的回复:
下面这个是600秒间隔查询结果 下面这个是60秒间隔查询结果 都很离谱,帮指导指导吧!!!!!!!!!!!!!!!!!!!!!
上边那个600秒的,每个时间之间都是间隔10分钟或者10分钟的倍数,这样不对么?加个order by x1_t20_q00_timest (不知道是不是这么个字段,看不清) 看看
hj686868 2017-02-28
  • 打赏
  • 举报
回复
下面这个是600秒间隔查询结果

下面这个是60秒间隔查询结果


都很离谱,帮指导指导吧!!!!!!!!!!!!!!!!!!!!!
二月十六 2017-02-28
  • 打赏
  • 举报
回复
这两个结果都是0,都是符合条件的。所以会出现那些时间接近的结果。
select timestampdiff(minute,"2017-02-17 13:32:32","2017-02-17 13:32:38");
select timestampdiff(minute,"2017-02-17 13:32:32","2017-02-17 13:33:08");
我记得在Mysql版回答过这个问题。10分钟换成%600 秒贴上来看看啥结果
加载更多回复(1)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧