Hintergrund: Während des Entwicklungsprozesses müssen wir häufig Daten basierend auf der Zeit als Beurteilungsbedingung abfragen, z. B.: der aktuelle Monat, der aktuelle Tag, die aktuelle Stunde, die nächsten Tage ... 1. Aktueller Monat Um dies zu erreichen, müssen wir nur eine MySQL MONTH(date)-Funktion verwenden. (Beachten Sie das Jahr)
2. Innerhalb von 30 Tagen Der Grund, warum ich „innerhalb von 30 Tagen“ nach dem aktuellen Monat schreibe, ist, dass ich oft auf Situationen stoße, in denen diese beiden Anforderungen ineinander umgewandelt werden. „Innerhalb von 30 Tagen“ kann auch „innerhalb eines Monats“ heißen. In diesem Fall müssen wir die Funktion DATEDIFF(expr1,expr2) verwenden.
3. Am Tag Die Funktion TO_DAYS(Datum) muss für den aktuellen Tag verwendet werden.
4. Aktuelle Stunde In diesem Fall müssen die Funktionen HOUR(date) und CURDATE() zusammen verwendet werden.
5. Innerhalb von x Tagen Dies kann mit der Funktion DATE_SUB(Datum, INTERVAL, Ausdruckseinheit) erreicht werden.
Für die Einheit dahinter verbergen sich viele Werte, wie die folgende Tabelle zeigt:
6. Datenstatistiken innerhalb weniger Tage Dieser Anforderung, nämlich die Datenmenge jeden Tag innerhalb von 7 Tagen zu zählen, begegnen wir häufig. In diesem Fall müssen wir den Fall berücksichtigen, in dem kein Daten-Push stattfindet, das heißt, wir müssen die Daten abrufen, auch wenn sie 0 sind. Meine Gedanken dazu sind folgende: WÄHLEN DATE_SUB( CURDATE(), INTERVAL ms Tag ) AS Bestelldatum AUS ( WÄHLEN SIE 0 als s UNION ALL WÄHLEN SIE 1 UNION ALLE WÄHLEN SIE 2 UND VEREINIGEN SIE ALLE WÄHLEN SIE 3 UNION ALLE WÄHLEN SIE 4 UNION ALLE WÄHLEN SIE 5 UNION ALLE WÄHLEN SIE 6 ) Verwenden Sie die obigen SQL-Abfrageergebnisse als temporäre Tabelle, um sie mit der Datentabelle abzugleichen und die Anzahl der Daten innerhalb eines bestimmten Zeitraums zu zählen -- Beispiel: Abfrage der Anzahl der Daten in jedem Monat innerhalb von 12 Monaten SELECT COUNT(t.created_at),res.date FROM (WÄHLEN DATE_FORMAT(DATE_SUB( CURDATE(), INTERVALL ms MONAT ),'%Y-%m') AS Datum AUS ( WÄHLEN SIE 0 als s UNION ALL WÄHLEN SIE 1 UNION ALLE WÄHLEN SIE 2 UND VEREINIGEN SIE ALLE WÄHLEN SIE 3 UNION ALLE WÄHLEN SIE 4 UNION ALLE WÄHLEN SIE 5 UNION ALLE WÄHLEN SIE 6 UNION ALLE WÄHLEN SIE 7 UNION ALLE WÄHLEN SIE 8 UNION ALLE WÄHLEN SIE 9 UNION ALLE WÄHLEN SIE 10 UNION ALLE WÄHLEN SIE 11 ) m)res links beitreten Tabelle t am res.date = DATE_FORMAT(t.created_at,'%Y-%m') GROUP BY Datum Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Warum wird mir die Zugriffsschnittstelle für Docker Tomcat nicht angezeigt?
>>: Detaillierte Erklärung, wo die von Docker abgerufenen Bilder gespeichert werden
Panther begann als Anfänger und ich bin immer noc...
Projektzweck Migrieren Sie die Daten in MySQL 5.5...
Heute ist mir ein Problem aufgefallen: Der Inhalt ...
Berechnete Eigenschaften Manchmal packen wir zu v...
Vorwort Angesichts der verrückten Spekulationen u...
Inhaltsverzeichnis 1. Was ist JSON 1.1 Array-Lite...
ClickHouse ist ein spaltenorientiertes Open-Sourc...
Lassen Sie uns zunächst über die in()-Abfrage spr...
MySQL 5.7.17, scheint jetzt die neueste Version z...
In diesem Artikelbeispiel wird der spezifische Co...
1. Zuerst erstellen wir eine JSON-Datei zur inter...
1. Überprüfen Sie die maximale Anzahl geöffneter ...
Inhaltsverzeichnis 1. Übersicht 1. Aussagetest er...
Inhaltsverzeichnis Tutorial-Reihe 1. Benutzerverw...
Inhaltsverzeichnis Tomcat-Download-Tutorial Tutor...