gpt4 book ai didi

mysql - 计算MySQL中日期之间的工作时间

转载 作者:行者123 更新时间:2023-11-29 22:17:56 26 4
gpt4 key购买 nike

我正在尝试创建 SQL 查询来计算两个日期 (2015-01-01 12:12:12) 之间的小时数。此查询的复杂性仅在于周一至周五上午 8 点至下午 6 点之间的汇总时间。

我需要它来计算我们的 Mantis BT 系统中记录的问题需要多长时间才能得到解决。我们的客户可以在我们工作时间之外记录问题,但我只想根据我们的工作时间来计算时间。

我们计算记录问题的日期/时间 (subscribed_date) 与问题解决的日期/时间(最大更新日期和“已解决”状态)之间的差异。困难在于问题可以解决,然后在将来重新开放。通过使用最大的更新日期,我的脚本包含了问题处于“已解决”状态的天数,这是不正确的。它应该只包括问题开放的天数。

SELECT
proj.name,
bugs.id,
summary,
users2.username AS Assigned_to,
CASE bugs.status
WHEN '80' THEN 'Resolved'
WHEN '90' THEN 'Closed'
END AS Status,
bugs.date_submitted AS date_submitted,
MAX(date_modified) AS last_date_modified
FROM
mantis_bug_table bugs
LEFT JOIN mantis_bugnote_table notes ON notes.bug_id = bugs.id
INNER JOIN mantis_bug_history_table hist ON bugs.id = hist.bug_id
LEFT JOIN mantis_user_table users2 ON users2.id = bugs.handler_id
INNER JOIN mantis_project_table proj ON proj.id = bugs.project_id
WHERE
bugs.project_id = 102
AND hist.field_name = 'status'
AND bugs.status IN (80,90)
AND date_modified >= '2015-01-01'
GROUP BY
summary;

最佳答案

This tutorial是为 SQL 编写的,但可以在 MySQL 中轻松复制。

您只需定义您的工作时间,然后引用这些时间来计算时间。

关于mysql - 计算MySQL中日期之间的工作时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31031968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com