在响应/更新中找到日期之间最长和最快的差异

时间:2012-10-16 19:06:07

标签: mysql sql datetime datediff

我有一个问题是找到最长的响应时间和最短的响应时间。

三张桌子:

T1.RESPONCE
resp_id (bigint)
resp_text (text)
resp_created_date (datetime)
resp_closed_date (datetime)

T2.RESP_UPDATE_RELATION
resp_id (bigint)
update_id (bigint)

T3.UPDATES
update_id (bigint)
update_text (text)
update_created_date (datetime)
update_closed_date (datetime)

为每个响应的多个更新创建T2.RESP_UPDATE_RELATION

我想找到 - 对于每个响应 - 最长和最快的更新时间。

任何聪明的mysql? 或者我是否需要为此包含PHP代码?

----------------------------------- EDIT ----------- ---------------------

刚才醒来......然后就开始了。我现在已经尝试了一个星期了,似乎我做得对。结果令我感到困惑。所以也许我并没有错误地做错 - 但问错了问题。

所以,上面的请求有点错误!

我真正的要求是:

I would like the result from the last 30 days of
the fastest opening update (update_created_date)
the slowest opening update (update_created_date)
the fastest closing update (update_closed_date)
the slowest closing update (update_closed_date)

1 个答案:

答案 0 :(得分:0)

将所有三个表连接到外键并按resp_id分组。您现在可以使用MIN / MAX上的update_created_dateupdate_closed_date汇总功能选择第一次和最后一次更新。如果您希望查询产生时差,可以使用顶部的TIMEDIFFTIMESTAMPDIFF函数。