I need to check a date_time value in a number of tables for "up-to-date-ness."
The following query is part of a larger PHP script that runs as a cron job every 10 minutes: <query> select case # If within 2 minutes, do nothing. when (unix_timestamp() - unix_timestamp(date_time)) < 120 then 'ok' # If between 2 and 60 minutes old, send an email each time the script is called (q 10 min). when (unix_timestamp() - unix_timestamp(date_time)) >= 120 && (unix_timestamp() - unix_timestamp(date_time)) < 3600 then 'email' # If over an hour old, send out one email per hour. when (unix_timestamp() - unix_timestamp(date_time)) >= 3600 && (unix_timestamp() - unix_timestamp(date_time)) % 3600 > 2999 && (unix_timestamp() - unix_timestamp(date_time)) % 3600 < 3600 then 'email' end as 'test' from mytable order by date_time desc limit 1; </qyery> This seems to run OK, but I'd be interested if anyone sees any way to improve it. Thanks, --David.