I see the difference but this is the coding I have been using and it still does not make sense to me.
let's say for this way of writing the statement I get a result of 100.
SELECT distinct count(username) FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(last_login) <= 1;
If I rewrite it like this (below) still using now I will get a lesser number of results, let's say 75.
SELECT distinct count(username) FROM table WHERE last_login >= DATE_SUB(NOW(), INTERVAL 1 DAY);
But if I rewrite the last statement using CURDATE like (below) I will get the result of 100 like the original statement
SELECT distinct count(username) FROM table WHERE last_login >= DATE_SUB(CURDATE(), INTERVAL 1 DAY);
Hope this makes sense. Curious to know why now() isn't giving consistant results in both versions of the same select statemet.