2010-05-04 11 views

risposta

51
SELECT * 
FROM users 
WHERE user_datecreated >= NOW() - INTERVAL 3 MONTH 
10

Se si desidera ignorare l'ora del giorno in cui è stato creato un utente, è possibile utilizzare quanto segue. Quindi questo mostrerà qualcuno creato alle 8:00 se esegui la query di esempio di Quassnoi alle 14:00.

SELECT * 
FROM users 
WHERE DATE(user_datecreated) >= DATE(NOW() - INTERVAL 3 MONTH) 
2

Uso DATA (user_datecreated) impedisce mysql di utilizzare gli indici sulla colonna, rendendo la query molto lento quando la tabella cresce.

Non è necessario ignorare l'ora in cui l'utente è stato creato se si rimuove l'ora dalla data "3 mesi fa", poiché tutti gli utenti creati in quel giorno corrisponderanno alla condizione.

SELECT * 
FROM users 
WHERE user_datecreated >= DATE(NOW() - INTERVAL 3 MONTH);