Ich versuche, eine Abfrage zu schreiben, um alle Datensätze aus users
Tabelle, wo User_DateCreated
(Datetime Feld) ist> = 3 Monate von heute.mysql wählen Datensätze größer als 3 Monate
Irgendwelche Ideen?
Ich versuche, eine Abfrage zu schreiben, um alle Datensätze aus users
Tabelle, wo User_DateCreated
(Datetime Feld) ist> = 3 Monate von heute.mysql wählen Datensätze größer als 3 Monate
Irgendwelche Ideen?
SELECT *
FROM users
WHERE user_datecreated >= NOW() - INTERVAL 3 MONTH
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)
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);