Ich möchte einige SQL-Abfragen schreiben, um mir Datensätze aus MySQL-Datenbank, die heute erstellt werden, Datensätze erstellt letzte Woche und Datensätze letzten Monat erstellt .. Die erste Abfrage erstellt Zeige mir Ergebnisse, die in den letzten 7 Tagen erstellt wurden (einschließlich heute). Wenn heute beispielsweise Sonntag ist, möchte ich Ergebnisse sehen, die von Montag bis Samstag erstellt wurden (nicht heute). Ebenso möchte ich in der zweiten Abfrage Datensätze sehen, die letzten Monat erstellt wurden (ausgenommen Aufzeichnungen dieses Monats). Wenn beispielsweise im Juni dieses Jahres ist, möchte ich Aufzeichnungen insql Abfrage zu zeigen Aufzeichnungen erstellt heute, letzte Woche und letzten Monat
Mai erstellt, um zu sehenSELECT COUNT(*) AS stdtotal FROM `login`
WHERE `account_created_date` > DATE_SUB(NOW(), INTERVAL 7 DAY)
und die andere Abfrage ist
SELECT COUNT(*) AS stdtotal FROM `login`
WHERE `account_created_date` > DATE_SUB(NOW(), INTERVAL 30 DAY)
Beachten Sie, dass meine Tabellennamen login
und der Spaltenname ist account_created_date
vom Typ Datum.
Was ist das Problem? Sie haben das Ergebnis wie erwartet. –
Die erste Abfrage zeigt mir Ergebnisse, die in den letzten 7 Tagen erstellt wurden (einschließlich heute). Wenn heute beispielsweise Sonntag ist, möchte ich die Ergebnisse von Montag bis Samstag sehen. Ebenso möchte ich in der zweiten Abfrage Datensätze sehen, die letzten Monat erstellt wurden (ausgenommen Aufzeichnungen dieses Monats). Wenn dies beispielsweise Juni ist, möchte ich sehen, dass im Mai Datensätze erstellt werden. –
Sie müssen also 'WHERE SomeDateField ZWISCHEN OneDate UND SecondDate' verwenden. –