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
Not sure why you're using the between construct. MySQL can use logical operators on dates, and usually significantly faster. I would use this:
select *
from status
where code='myCode'
and stamp_updated >= DATE_SUB(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.
... 'stamp_updated' BETWEEN NOW() - INTERVAL 10 MINUTE AND NOW() ...