Mysql 到上一行的间隔
我想得到表中各行之间的间隔 当我使用这个查询时,我从上一个时间戳中获得秒数。 但只有当两个时间戳在同一分钟内时,结果才是正确的Mysql 到上一行的间隔,mysql,sql,Mysql,Sql,我想得到表中各行之间的间隔 当我使用这个查询时,我从上一个时间戳中获得秒数。 但只有当两个时间戳在同一分钟内时,结果才是正确的 SELECT Time_Stamp, State, Time_Stamp - LAG(Time_Stamp) OVER(ORDER BY Time_Stamp) AS Seconds_In_State FROM State_Table ORDER BY Time_Stamp; 如何以时间间隔获得结果?您可以使用timestampdiff(
SELECT
Time_Stamp,
State,
Time_Stamp - LAG(Time_Stamp) OVER(ORDER BY Time_Stamp)
AS Seconds_In_State
FROM State_Table
ORDER BY Time_Stamp;
如何以时间间隔获得结果?您可以使用
timestampdiff()
函数。我用分钟作为单位
该单位应为以下单位之一:分形秒(微秒)、秒、分、时、日、周、月、季或年。Unit是此处要计算差异的测量单位
SELECT
Time_Stamp,
State,
TIMESTAMPDIFF(minute, LAG(Time_Stamp) OVER(ORDER BY Time_Stamp),Time_Stamp)
AS Minute_In_State
FROM State_Table
ORDER BY Time_Stamp;
您正在使用哪个dbms?您的代码基本正确。您可能误解了结果。我使用的是MySQL。时间戳03:56到时间戳04:30,结果是74。[430-356=74]所以我不能用DATETIME数据类型完成这项工作?谢谢Kazi,这非常有用…:-)不客气。最好的妻子。