Ich muss Daten aus Mysql für die letzten 7 Tage auswählen. Ich habe das Feld "Datum" und die Werte haben das Format mm.dd.yy. So habe ich versucht, spezielle mysql Anfrage zu tun, aber es funktioniert nicht mit meinem Feld, ich glaube, dass Datum in falschem Format. Wie kann ich das von PHP (verwenden Sie eine Variable, um mysql-Einträge zu erhalten), oder mit benutzerdefinierten Select-Abfrage?Wie die letzten 7 Tage Ergebnisse von mysql (mit benutzerdefinierten Datenfeld) auswählen?
Antwort
machen Sie STR_TO_DATE()
verwenden können Ihr idiosyncratic Datumsformat zu einem Standard DATE
Wert zu konvertieren. Ein Ausdruck wie dies
STR_TO_DATE('07.17.97', '%m.%d.%y')
den Trick Dann können Sie
WHERE STR_TO_DATE(`date`, '%m.%d.%y') >= CURDATE() - INTERVAL 7 DAY
in Ihrer Abfrage sagen Elemente filtern mit date
Werte vor einer Woche beginnen.
Wenn Sie jedoch viele zu filternde Zeilen haben, haben Sie eine schlechte Leistung: Diese Art der WHERE-Klausel ist nicht sargable.
Ich ändere meinen Datumsfeldtyp in DATE und formatiere ihn auf der Vorderseite neu, um die Ansicht zu erleichtern. Und seine Lösung für mich. – DanialartBiz
zuerst Ihre Tabelle lesen und das Datumsformat
$new_date_format = date('Ymd',mktime(0,0,0,substr($date,0,2),substr($date,3,2),substr($date,6,2)));
Danach wechseln Sie comparisions
Dies würde dem ganzen Zweck der Verwendung von SQL widersprechen - Sie müssten die gesamte Tabelle abrufen und dann mit PHP-Code suchen. Was meinst du, ineffizient? –
Hängt davon ab, wie groß der Tisch ist! –
Hmm, nein ... ich stimme nicht zu. –
- 1. Sqlite SELECT * für die letzten 7 Tage
- 2. wie Datum von der letzten 7 Tage holen
- 3. PHP holen Daten von mySQL nur 7 Tage dauern
- 4. Wählen Sie die letzten 7 Tage eines jeden Monats aus
- 5. Iterate durch Datum für die letzten 7 Tage
- 6. Erstellen QuerySet Objekt aus der letzten 7 Tage
- 7. Mysql Abfrage Ergebnisse von letzten 604800 Sekunden
- 8. Get Datum der letzten 7 Tage von aktuellen in Android
- 9. mysql Daten in 30-Tage-Bereich auswählen
- 10. Nur die letzten drei Ergebnisse von PHP und MySQL anzeigen
- 11. MySQL alle Einträge auswählen, die älter als 10 Tage sind
- 12. mithilfe von ssdt, wie kann ich einen gefilterten Index für die letzten 7 Tage erstellen?
- 13. So stellen Sie die letzten 7 Tage dar, wenn Daten von SQL Server
- 14. Wählen Sie Summe top 3 der letzten 7 Tage
- 15. Berechnung der letzten 7 Tage für jeden Tag in Bereich
- 16. MYSQL Anzahl der Ergebnisse nach Monat auswählen
- 17. Auswählen von Datensätzen in mysql db vor 1, 7 und 30 Tagen mit datetime und php
- 18. MySQL letzten Datensatz auswählen und aktualisieren
- 19. Wie bekomme ich die letzten 5 Ergebnisse von MySQL-Datenbank mit Spring, Hibernate
- 20. Wie kann ich die letzten 7 Tage in einem Array vom aktuellen Datum erhalten?
- 21. Wie erhalte ich die letzten 7 Tage Daten vom aktuellen Datum in SQL Server?
- 22. Abrufen von Daten aus der Datenbank innerhalb der letzten 7 Tage mit linq
- 23. Wie man Datenfeld in mysql mit PHP einfügt
- 24. PowerShell - Letzte gespeicherte Datei - Wollen Sie auf die letzten 7 Tage eingrenzen
- 25. Auswählen von Werten, die kein '_' mit mysql haben
- 26. Wie bekomme ich die letzten 30 Tage Rekord in codeigniter
- 27. Wie erhalten Sie die letzten 30 Tage der Datensätze?
- 28. Wählen Sie die unteren Ergebnisse in MYSQL
- 29. Löschen von Dateien, die älter als 7 Tage sind
- 30. Oracle letzten Datensatz auswählen
Verwenden Sie explode, um es richtiges Format zu machen und dann versuchen Sie es erneut, was Sie zuvor versucht haben. – C2486
es ist eine sehr schlechte Praxis, Ihr Datum als Varchar und in mm.dd.yy Format zu speichern. Bleiben Sie bei der Konvention und machen Sie es DATE oder DATETIME Format und speichern Sie es im JJJJ-MM-TT-Format. –
@ObjectManipulator Wie kann ich ein Datumsfeld im Format erstellen, das ich brauche? Und wird es mit Datenmanipulationen in SQL arbeiten? – DanialartBiz