Wie kann ich die Werte anzeigen und zählen, deren Datum gestern ist? Ich habe das time()
Datum in die Datenbank eingefügt. Beispiel:
URL: google.com youtube.com google.com youtube.com test.com youtube.com
DateVisited: 1313668492 1313668540 1313668571 13154314
Ich möchte anzeigen, wie viele URLs mit mehreren in der Tabelle vorhanden sind und wie viele dieser URLs gestern besucht wurden. Beispielergebnis:
LINK | timesExisted | timesVisitedYesterday
Google.com | 2 | 2
youtube.com| 3 | 3
Ich habe bereits die Idee, das Datum von gestern zu ermitteln, aber ich habe keine Idee, zu zählen, wie oft eine URL für gestern existiert hat und wie oft eine URL in der Tabelle existiert hat.
Sie können verwenden:
oder
oder
oder
quelle
Sie können das gestrige Datum mit dem Ausdruck abrufen
CAST(NOW() - INTERVAL 1 DAY AS DATE)
. So etwas könnte also funktionieren:quelle
Abfrage für die letzten Wochen:
quelle
Berechnung des letzten oder nächsten Datums, der Woche, des Monats und des Jahres. Es könnte für jeden hilfreich sein.
Aktuelles Datum:
Gestern:
Morgen:
Letzte 1 Woche:
Nächste 1 Woche:
Letzter 1 Monat:
Nächster 1 Monat:
Aktueller Monat:
Letztes 1 Jahr:
Nächstes 1 Jahr:
quelle
Während die gewählte Antwort korrekt und prägnanter ist, würde ich für die in anderen Antworten angegebene Struktur argumentieren:
Wenn Sie nur ein nacktes Datum ohne Zeitstempel benötigen, können Sie es auch wie folgt schreiben:
Der Grund für die Verwendung von
CAST
versusSUBDATE
istCAST
die ANSI-SQL-Syntax.SUBDATE
ist eine MySQL-spezifische Implementierung der Datumsarithmetikkomponente vonCAST
. Wenn Sie sich an die Verwendung der ANSI-Syntax gewöhnen, können Sie Kopfschmerzen reduzieren, falls Sie jemals auf eine andere Datenbank migrieren müssen. Es ist auch gut, als Berufspraxis die Gewohnheit zu haben, da Sie in Zukunft mit ziemlicher Sicherheit mit anderen DBMS zusammenarbeiten werden.Keines der wichtigsten DBMS-Systeme ist vollständig ANSI-kompatibel, aber die meisten von ihnen implementieren die breite ANSI-Syntax, während fast keines außerhalb von MySQL und seinen Nachkommen (MariaDB, Percona usw.) die MySQL-spezifische Syntax implementiert.
quelle
Ich habe eine der obigen Antworten von cdhowie angepasst, da ich sie nicht zum Laufen bringen konnte. Das scheint bei mir zu funktionieren. Ich vermute, dass dies auch mit der verwendeten UNIX_TIMESTAMP-Funktion möglich ist.
quelle