mysql - 如何找到列中两行之间的时间差

标签 mysql sql

嗨,当我使用这个查询时,它给了我 2 列,每行都有一个请求和一个响应。我如何计算两者之间的时间差(以秒为单位)。

select M.MSG_DESC, M.Msg_Ts from INTLOG.ESB_MSG_L M,INTLOG.ESB_PAYLOAD_L P
where M.MSG_ID = P.MSG_ID
And M.Msg_Ts >= Timestamp'2014-02-16 00:00:00' 
And M.Msg_Ts <= Timestamp'2014-02-17 12:00:00' 
And M.Msg_ID IN ('90808','67678','534534')
ORDER by M.MSG_TS,p.payload_corl_id desc;

DatabaseUtility Request Internal 18-FEB-14 01.00.10.569000000 PM
DatabaseUtility Response Internal 18-FEB-14 01.00.19.553000000 PM
DatabaseUtility Request Internal 18-FEB-14 01.00.29.146000000 PM
DatabaseUtility Response Internal 18-FEB-14 01.00.29.705000000 PM
DatabaseUtility Request Internal 18-FEB-14 01.00.35.278000000 PM
DatabaseUtility Response Internal 18-FEB-14 01.00.38.313000000 PM

最佳答案

select M.MSG_DESC
     , M.Msg_Ts 
     ,TIMESTAMPDIFF(SECOND, M.MSG_DESC, M.Msg_Ts )
from INTLOG.ESB_MSG_L M INNER JOIN INTLOG.ESB_PAYLOAD_L P
ON   M.MSG_ID = P.MSG_ID
WHERE
    M.Msg_Ts >= Timestamp'2014-02-16 00:00:00' 
And M.Msg_Ts <= Timestamp'2014-02-17 12:00:00' 
And M.Msg_ID IN ('90808','67678','534534')
ORDER by M.MSG_TS,p.payload_corl_id desc;

关于mysql - 如何找到列中两行之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21865537/

相关文章:

mysql - 如何从 varchar 类型值中选择最大数量

php - "A server timeout has occurred"将 Dreamweaver 连接到 MySQL 时出错

php - 处理不断更新的mysql表的最佳方法

MySQL 正则表达式 : Find string exept between two characters

sql - 窗口 SQL 范围的 COUNT(*)

sql - 使用 Oracle 通过 PIVOT 将三个表合并为一个表

php - 如何合并两个具有相同列名称的画廊

mysql - Node MySQL 数据库位置

sql - 根据交易添加期末余额列(收入-支出)

sql - 优化 SQL 查询 - 连接 4 个表