计算mysql中两个时间戳之间的时差

Mar*_*sNV 3 mysql sql database time

我在一个MySQL数据库表上工作,该表包含一个包含时间戳的列(例如,2014-09-16 09:08:05).我的问题是如何在几分钟内计算出第一个ping和最后一个特定主机之间的差异?另外,我如何为上述差异的开始和结束指定不同的时间戳(而不是第一次和最后一次ping).以下是该表的示例:

|--|---------|-------------------|----|
|id|http_code|pingtime           |host|
|--|---------|-------------------|----|
|10|200      |2014-09-16 09:08:05|2   |
|--|---------|-------------------|----|
|11|200      |2014-09-16 10:07:05|1   |
|--|---------|-------------------|----|
|12|200      |2014-09-16 10:14:10|2   |
|--|---------|-------------------|----|
Run Code Online (Sandbox Code Playgroud)

我希望我能够清楚地解释自己.

Cre*_*rge 6

您可以使用本机TIMESTAMPDIFF函数:

SELECT TIMESTAMPDIFF(<INTERVAL>,<timestampFrom>,<timestampTo>);
Run Code Online (Sandbox Code Playgroud)

如果要查找给定主机ID的第一个和最后一个时间戳之间的差异,请执行以下操作:

SELECT TIMESTAMPDIFF(MINUTE,MIN(pingtime),MAX(pingtime))
FROM yourTable
WHERE host = 2;
Run Code Online (Sandbox Code Playgroud)