2010-05-04 27 views

Antwort

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

Wenn Sie die Uhrzeit der Erstellung eines Benutzers ignorieren möchten, können Sie Folgendes verwenden. Dies zeigt jemanden, der um 8:00 Uhr erstellt wurde, wenn Sie die Beispielabfrage von Quassnoi um 14:00 Uhr ausführen.

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

Benutzung von DATE (user_datecreated) verhindert, dass mysql alle Indizes für die Spalte verwenden, so dass die Abfrage sehr langsam, wenn die Tabelle wächst.

Sie müssen die Uhrzeit nicht ignorieren, zu der der Benutzer erstellt wurde, wenn Sie die Zeit vom Datum "3 Monate" entfernen, da alle an diesem Tag erstellten Benutzer die Bedingung erfüllen.

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