SELECT MAX(id) FROM timestuff WHERE `actionTime` < CURTIME();
SELECT MAX(id) FROM timestuff WHERE `stopTime` < CURTIME();
這可以讓你的動作/停止時間的最新的ID在當前時間之前,將工作,如果你的表始終是在爲了你已經表明(這意味着,IDS顯示您的時間值的年代表 - 您剛纔注意到的數據並非如此)。
對於您的情況:您可以採取另一步驟,在最接近當前時間的時間內添加內連接,然後查找該數據的標識。
首先查詢:對於當前時間之前最新的停止時間:
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;
http://dev.mysql.com /doc/refman/5.7/en/comparison-operators.html#operator_between – ymas
我想檢索操作編號\/_ \ /。 –
什麼是first actionTime?當前時間之前的最新動作時間?在一個查詢中你需要兩個查詢還是兩個標準? – Philipp