I have a timestamp column that auto updates on insert/update.
I want to get the rows that have been updated within the last 10 minutes.
SELECT
*
FROM
status
WHERE
code='myCode'
AND
'stamp_updated'
BETWEEN
NOW()
AND
DATE_ADD(NOW() , INTERVAL - 10 MINUTE)
ORDER BY
stamp_updated DESC
LIMIT 1
解决方案
Use:
SELECT *
FROM status
WHERE code = 'myCode'
AND `stamp_updated` BETWEEN DATE_SUB(NOW() , INTERVAL 10 MINUTE)
AND NOW()
ORDER BY stamp_updated DESC
LIMIT 1
Order in the BETWEEN operator matters - you had it backwards.