如何判断数据库两个表时间粒度的大小

liujiahaol12345 2015-09-11 08:50:37
比如一张表数据粒度全是15分钟,像2015/03/15 12:15 2015/03/15 12:30。。。。,另一张表全是半小时级,像2015/03/15 12:30 2015/03/15 13:00:00,怎么判断两个表哪个时间粒度大,然后按时间粒度大的进行数据合并,比如这里第二个表时间粒度大,就得把第一张表按半小时合并,就得把2015/03/15 12:15 2015/03/15 12:30这两行的数据sum求和,时间粒度还有小时级和天级的
...全文
387 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiahaol12345 2015-09-11
  • 打赏
  • 举报
回复
刚改了需求,这需求有点坑爹,结贴
老李家的小二 2015-09-11
  • 打赏
  • 举报
回复
对15分钟的表,按时间排序,然后每两条记录进行合并
老李家的小二 2015-09-11
  • 打赏
  • 举报
回复
反正是两张已经固定的表,自己看一下哪张是15分钟的,哪张是30分钟的不就行了。
  • 打赏
  • 举报
回复
你这种时间还会断续的,那你让代码情何以堪呢,只能排序后遍历所有两个时间相差值最小的数字,然后按你这种会断续的逻辑,那合并又只能遍历合并,你这种还是读取数据出来到程序里去做循环吧 而且你还有12:00 12:15 12:30 另外一个是 11:45 12:15这种合并究竟如何合法的问题,也就是究竟是12:00+12:15还是 12:15+12:30的问题
ajianchina 2015-09-11
  • 打赏
  • 举报
回复
这么有规律,你两个表各取相邻的两个时间的差进行对比不就好了吗?不知道你有什么为难的。
liujiahaol12345 2015-09-11
  • 打赏
  • 举报
回复
15分钟和都是1:00 1:15 1:30这样的,不会有1:01 1.16这样的数据
寂空冷 2015-09-11
  • 打赏
  • 举报
回复
楼主的数据是连续的吗?比如说十五分钟的情况就是每隔十五分钟一条数据?
liujiahaol12345 2015-09-11
  • 打赏
  • 举报
回复
我也想取两条数据相减得到粒度,但有这样的情况,比如2015/03/15 12:15 2015/03/16 12:30 2015/03/16 12:45 中间有缺失的数据就得不到了,两个表是不是倍数没有关系,我只需要得到哪个表时间粒度大,就按大的时间粒度每列求和,最后两个表数据合并起来,现在我不知道两点,1是怎么判断哪个时间粒度大,2是像15分钟按30分钟粒度怎么合并,小时合并到天这个会,sql有这样的方法么
xuzuning 2015-09-11
  • 打赏
  • 举报
回复
按待判别的字段聚类,结果集行数少的可判为粒度大 左链接粒度小的表,聚类求和即可(聚类键需缩短)
於黾 2015-09-11
  • 打赏
  • 举报
回复
该用内存操作的,就得按内存操作 不要企图一条sql语句就把这种毫无关联的数据都给合并出来 你举的例子刚好是整数倍,而且时间相同 如果一个表里是12:01,12:31,另一个表里是12:00,12:10.你想怎么合并? 这就得自己循环做if语句判断
  • 打赏
  • 举报
回复
没张表按时间排列之后取top2条记录,然后比较一下时间差不就得到时间粒度了 你这里举的例子是正好是倍数的关系,有没有不是倍数的关系 然后你是要查询得到结果还是要修改数据?

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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