simplified version of my query
SELECT *
FROM logs
WHERE pw=\'correct\' AND CASE WHEN id<800 THEN success=1 ELSE END
AND YEAR(timestamp)=2011
You don't have to use CASE...WHEN, you could use an OR condition, like this:
WHERE
pw='correct'
AND (id>=800 OR success=1)
AND YEAR(timestamp)=2011
this means that if id<800, success has to be 1 for the condition to be evaluated as true. Otherwise, it will be true anyway.
It is less common, however you could still use CASE WHEN, like this:
WHERE
pw='correct'
AND CASE WHEN id<800 THEN success=1 ELSE TRUE END
AND YEAR(timestamp)=2011
this means: return success=1 (which can be TRUE or FALSE) in case id<800, or always return TRUE otherwise.