SQL组合两列并选择连续行的最大时间
我试着把两个栏目结合起来,例如OnDateTime和OffDateTimeSQL组合两列并选择连续行的最大时间,sql,sql-server,Sql,Sql Server,我试着把两个栏目结合起来,例如OnDateTime和OffDateTime OnDateTime OffDateTime 2016-05-16 13:47:22.987 2016-05-16 13:47:22.987 2016-05-16 13:47:26.347 2016-05-16 13:47:26.347 2016-05-16 13:47:27.643 2016-05-16 13:47:27.643 2016-05-16 13:48:08.003 2016-05
OnDateTime OffDateTime
2016-05-16 13:47:22.987 2016-05-16 13:47:22.987
2016-05-16 13:47:26.347 2016-05-16 13:47:26.347
2016-05-16 13:47:27.643 2016-05-16 13:47:27.643
2016-05-16 13:48:08.003 2016-05-17 13:48:08.003
2016-05-16 13:48:10.410 2016-08-24 13:48:10.410
2016-05-16 13:48:11.913 2016-08-24 13:48:11.913
2016-05-16 13:50:09.090 2019-02-09 13:50:09.090
我想一次合并这两列,然后按DESC排序并计算连续行(1和2、2和3…)的最大时间。谢谢你的帮助 Concat+减去将产生日差的日期。乘以24得到小时数,依此类推 从表中选择concat(date1,date2)Dates,(date1-date2)Diff
使用Max获取Max行。这是您想要的吗
Select Max(DateDiff(second, a.OffDateTime, b.OnDateTime))
From table a
join table b
on b.OnDateTime =
(Select Min(OnDateTime)
From table
where OnDateTime > a.OffDateTime)
说明:
Join为表a中的每一行查找表中的下一个连续行(如b),然后max()函数查找a行末尾和b行开头之间的最大间隔结果应该是什么样的?它可能是一个值,它必须是最长的句点。所以你想找到DateDiff最高的行吗?你能在你的问题中添加给定示例数据的输出是什么样子的吗。“连续行之间的最大时间”是什么意思?问题中使用的单词combine让我想到concat。如果没有用,则删除。简单,哈哈。我知道。我的错误。不要总是相信别人说/写的话。:)