Nehmen Sie als Beispiel drei aufeinanderfolgende Tage und verwenden Sie das Tool: MySQL. 1. SQL-Tabelle erstellen:Tabelle erstellen, falls nicht vorhanden: order(id varchar(10),date datetime,orders varchar(10)); in Reihenfolge einfügen Werte('1', '2019/1/1',10); in Reihenfolge einfügen Werte('1', '2019/1/2',109); in Reihenfolge einfügen Werte('1', '2019/1/3',150); in Reihenfolge einfügen Werte('1', '2019/1/4',99); in Reihenfolge einfügen Werte('1', '2019/1/5',145); in Reihenfolge einfügen Werte('1', '2019/1/6',1455); in Reihenfolge einfügen Werte('1', '2019/1/7',199); in Reihenfolge einfügen Werte('1', '2019/1/8',188); in Reihenfolge einfügen Werte('4', '2019/1/1',10); in Reihenfolge einfügen Werte('2', '2019/1/2',109); in Reihenfolge einfügen Werte('3', '2019/1/3',150); in Reihenfolge einfügen Werte('4', '2019/1/4',99); in Reihenfolge einfügen Werte('5', '2019/1/5',145); in Reihenfolge einfügen Werte('6', '2019/1/6',1455); in Reihenfolge einfügen Werte('7', '2019/1/7',199); in Reihenfolge einfügen Werte('8', '2019/1/8',188); in Reihenfolge einfügen Werte('9', '2019/1/1',10); in Reihenfolge einfügen Werte('9', '2019/1/2',109); in Reihenfolge einfügen Werte('9', '2019/1/3',150); in Reihenfolge einfügen Werte('9', '2019/1/4',99); in Reihenfolge einfügen Werte('9', '2019/1/6',145); in Reihenfolge einfügen Werte('9', '2019/1/9',1455); in Reihenfolge einfügen Werte('9', '2019/1/10',199); in Reihenfolge einfügen Werte('9', '2019/1/13',188); Sehen Sie sich das Datenblatt an: 2. Verwenden Sie die Sortierfunktion row_number() over(), um die Rangfolge jeder ID zu berechnen. Das SQL lautet wie folgt:Wählen Sie *, Zeilennummer () über (Partition nach ID, Sortierung nach Datum) 'Rang' ab Bestellung wobei „Bestellungen“ nicht NULL ist; Datenblatt anzeigen: 3. Subtrahieren Sie das Rangfeld vom Datumsfeld. Das SQL lautet wie folgt:wähle *,DATE_SUB(ein.Datum,Intervall,ein.Rang,Tag) 'date_sub' aus( Wählen Sie *, Zeilennummer () über (Partition nach ID, Sortierung nach Datum) 'Rang' ab Bestellung wobei „Bestellungen“ nicht NULL ist ) A; Sehen Sie sich die Daten an: 4. Gruppieren Sie nach ID und Datum und berechnen Sie die Anzahl der gruppierten Elemente (Anzahl) sowie die frühesten und spätesten Anmeldezeiten. Das SQL lautet wie folgt:wähle b.id,min(Datum) 'Startzeit',max(Datum) 'Endzeit',Anzahl(*) 'Datumsanzahl' aus( wähle *,DATE_SUB(ein.Datum,Intervall,ein.Rang,Tag) 'date_sub' aus( Wählen Sie *, Zeilennummer () über (Partition nach ID, Sortierung nach Datum) 'Rang' ab Bestellung wobei „Bestellungen“ nicht NULL ist ) ) B Gruppieren nach b.date_sub,id mit count(*) >= 3 ; Sehen Sie sich die Daten an: Quellen: SQL-Abfrage für Benutzer, die an mindestens sieben aufeinanderfolgenden Tagen Bestellungen aufgegeben haben 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:
|
<<: Zusammenfassung der für die Front-End-Entwicklung erforderlichen allgemeinen Toolfunktionen
>>: Neonlichteffekte mit reinem CSS3 umgesetzt
In diesem Artikel wird hauptsächlich die Methode ...
Dieses Tutorial beschreibt den Prozess der manuel...
Holen Sie sich das aktuelle Datum + die aktuelle ...
Vorwort Bei Verwendung der MySQL-Datenbank muss s...
Dieser Artikel veranschaulicht anhand von Beispie...
Vorwort Wie wir alle wissen, legt die Nginx-Konfi...
Vorwort: Die am häufigsten verwendete Architektur...
Inhaltsverzeichnis 1. Wiederholen 1.1. Shop (Bibl...
Hinzufügen einer Netzwerkschnittstelle zum Contai...
CSS-Benennungsregeln Header: Header Inhalt: Inhalt...
Ich werde nicht viel Unsinn erzählen, schauen wir...
a : Gibt die Start- oder Zielposition eines Hyper...
Früher war es ziemlich mühsam, abgerundete Ecken ...
【Autor】 Liu Bo: Leitender Datenbankmanager im Ctr...
Derzeit gibt es drei Möglichkeiten, die Mitte ein...