On 28 Jan 2010, at 9:54, Lonnie Olson wrote:

On Thu, Jan 28, 2010 at 6:42 AM, Justin Giboney <[email protected]> wrote:
See if this logic helps you, it will get you close, you may need to refine it

basically it finds out how many years it has been since the person
signed up, subtracts 3 from it, then adds that number to the sign up
date and gets all records after that new date

SELECT * FROM Users u, User_Actions ua
WHERE u.id = ua.user_id
AND ua.date >= ADDDATE(u.sign_up_date, INTERVAL (YEAR(NOW()) -
YEAR(u.sign_up_date)) - 3) YEAR)

Simple simplification here:

SELECT * FROM Users u, User_Actions ua
WHERE u.id = ua.user_id
AND ua.date >= NOW() - INTERVAL 3 YEAR;

This date math syntax is easier to read and understand.  It doesn't
require ADDDATE or anything.  Just a simple + or -

This doesn't take into account the sign up date though.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to