当前位置: 首页 > 面试题库 >

同一张表中两个记录之间的日期差

钦宏义
2023-03-14
问题内容

我有一个表(job_logs)有以下记录:
idjob_iduser_idstatuscreated_atjob_type

每次作业开始运行时,都会使用记录job_log表中的记录status='started'。当作业完成运行时,将使用另一个记录添加到表中status='completed'

这两个记录有相同的user_idjob_typeJOB_ID (这是由进程中运行作业时确定的-唯一的这2个记录)。

我想要一个查询,该查询将返回表中的所有这些记录对(按ID desc排序),但棘手的部分是我想将作业运行的时间(completed.created_at - started.created_at)添加到“已完成”状态的记录中。

我怎样才能做到这一点?


问题答案:
SELECT j1.job_id AS job_id, (j2.created_at - j1.created_at) AS time_run
FROM job_logs j1 INNER JOIN job_logs j2 ON (j1.job_id = j2.job_id)
WHERE j1.status = 'started' AND j2.status = 'completed'


 类似资料:
  • 问题内容: 如何找到不同列级别之间以分钟为单位的日期差异,例如 如何获取第一条记录的EndDate与下一条记录的开始日期之间的差异与最后一条记录与NULL值之间的差异。 结果需要 谢谢 普拉夫 问题答案:

  • 本文向大家介绍MySQL查询两个日期之间记录的方法,包括了MySQL查询两个日期之间记录的方法的使用技巧和注意事项,需要的朋友参考一下 网上搜索出来的结果多是下面答案: MySQL中,如何查询两个日期之间的记录,日期所在字段的类型为datetime(0000-00-00 00:00:00) 解决方案: 直接使用><=就可以查询。 where createDate<'2003-5-31' and c

  • 问题内容: 我陷入MySQL中的问题。我想获取两个日期时间项之间的记录数。 例如: 我的表中有一列名为“ created”的数据类型。 我想计算在“今天的4:30 AM”和“当前日期时间”之间的日期时间创建的记录。 我尝试了MySQL的一些功能,但仍然没有运气。 你能帮我吗?谢谢。 问题答案: 可能与: 或使用: 您可以根据需要更改日期时间。可以使用或获取所需的日期。

  • 问题内容: 使用标准的mysql函数可以编写查询,该查询将返回两个日期之间的天数列表。 例如,给定2009-01-01和2009-01-13,它将返回一个具有以下值的列表: 编辑:看来我还不清楚。我要生成此列表。我在数据库中存储了值(按日期时间),但希望将它们在左外部联接中汇总到上述日期列表中(我希望这种联接的某些右侧在几天内会为null并将对此进行处理) )。 问题答案: 我将使用此存储过程将所

  • 我试图在两天之间创建一个天数列表。 我创建了如下解决方案: 但它只在90%的情况下有效(如果有月变化,它就不起作用) 例如,当我选择日期时: 从8月29日到9月30日,从8月31日,它给我打印了几天 有没有办法解决我的问题,或者有更好的办法? 编辑: 我的问题和建议的问题不同,因为在我的问题中,我有两个日期作为输入 例如 在建议的重复结果,这可能是int号 我的问题是如何循环两个日期之间的所有日期

  • 问题内容: 我有这个查询,我需要选择两个日期之间的所有记录,mysql表是datetime格式。 我试过了,但是没有用。 问题答案: 尝试以下方法: