我需要两个查询。
第一个是获取当前时间之前的最新stopTime的actionNo。
第二个查询是如果当前时间之前的最新actionTime,则获取actionNo。
例子:
如果当前时间是:00:46:20
第一个查询是采取行动9(停止时间:00:45:00)
第二个查询是获取actionNo 8(actiontime:00:41:30)
SELECT MAX(id) FROM timestuff WHERE `actionTime` < CURTIME();
SELECT MAX(id) FROM timestuff WHERE `stopTime` < CURTIME();
这样可以使您获得当前时间之前的操作/停止时间的最新ID,如果您的表格始终按照您显示的顺序进行操作,则该ID会起作用(这意味着ID显示时间值的时间顺序-情况并非如此)您刚刚注意到的数据)。
对于您的情况:您可以采取另一步骤,并在最接近当前时间的时间上添加内部联接,然后查找该数据的ID。
第一个查询:对于当前时间之前的最新stopTime:
SELECT
timestuff.id
FROM
(
SELECT
MAX(stopTime) AS maxTime
FROM
timestuff
WHERE
`stopTime` < CURTIME()
) AS time
INNER JOIN timestuff ON timestuff.`stopTime` = time.maxTime;
第二个查询:对于当前时间之后的第一个actionTime:
SELECT
timestuff.id
FROM
(
SELECT
MIN(actionTime) AS minTime
FROM
timestuff
WHERE
`actionTime` > CURTIME()
) AS time
INNER JOIN timestuff ON timestuff.`actionTime` = time.minTime;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句