Iam trying to figure out whetere data was save to the db in the las 5 minutes.
SELECT COUNT(id), DATE_FORMAT(`timestamp`, '%Y-%m-%d %H:%i')
FROM `table`
WHERE `timestamp` >= CURRENT_TIMESTAMP - INTERVAL 5 MINUTE
timestamp is a unix timestamp (millisecs from 1970).
doesn’t work, I get nullnum_rows instead of 0 and if I use
if (!isset($resultHistory->num_rows) || !$resultHistory->num_rows)
to do actions, the code does not enter the loop..
I also tried
SELECT COUNT(id), DATE_FORMAT(`timestamp`, '%Y-%m-%d %H:%i')
FROM `table`
WHERE DATE_FORMAT(`timestamp`, '%Y-%m-%d %H:%i') >= CURRENT_TIMESTAMP - INTERVAL 5 MINUTE
Current_timestamp returns the current date as a SQL TIMESTAMP, not a UNIX timestamp, so you’d have to convert using the unix_timestamp function:
EDIT:
As your
timestampcolumn contains unix time, you’re also going to have to use from_unixtime to format the date.EDIT2:
In MySQL UNIX time is the number of seconds since epoch (1/1/70), so if your
timestampcolumn contains the number of milliseconds, you’ll have to divide by 1000 as well.