SQL-Abfrage für Benutzer, die an mindestens sieben aufeinanderfolgenden Tagen Bestellungen aufgegeben haben

SQL-Abfrage für Benutzer, die an mindestens sieben aufeinanderfolgenden Tagen Bestellungen aufgegeben haben

Erstellen einer Tabelle

 Tabelle erstellen Bestellung (ID varchar (10), Datum, Uhrzeit, Bestellungen 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 Reihenfolgewerte einfügen('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)

Ideen

Gruppieren Sie die Tabelle nach ID und Rang nach Zeit, subtrahieren Sie den Rang rnk von der Zeit. Wenn die Zeit kontinuierlich ist, ist das Subtraktionsergebnis gleich:

 wähle *, Datum-Rang von (wähle *, Zeilennummer() über (Partition nach ID, Sortierung nach Datum) Rang von Reihenfolge) a;

Dann gruppieren nach ID, RNK und Anzahl

 wähle id,rnk,count(*) ok von 
(Wählen Sie *, Datum-Rangrnk aus (Wählen Sie *, Zeilennummer () über (Partition nach ID, Sortierung nach Datum) Rang aus Reihenfolge) a) b Gruppieren nach ID, RNK;

Man erhält folgende Tabelle:

Filtern Sie abschließend die Anzahl der Elemente, die ok sind >= 7.

Sie können auch direkt filtern:

 wähle id,rnk aus 
(Wählen Sie *, Datum-Rangrnk aus (Wählen Sie *, Zeilennummer () über (Partition nach ID, Sortierung nach Datum) Rang aus Reihenfolge) a) b Gruppieren nach ID, rnk mit Anzahl (*)>=7;

Oben sehen Sie die SQL-Abfrage, die der Editor Ihnen für Benutzer vorgestellt hat, die an mindestens sieben aufeinanderfolgenden Tagen Bestellungen aufgegeben haben. Ich hoffe, sie wird Ihnen hilfreich sein. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • SQL-Abfrage für Benutzer, die sich ständig anmelden
  • SQL-Abfragemethode zur Implementierung von Benutzern, die sich seit mehr als 7 Tagen angemeldet haben
  • SQL-Abfrageanweisung zum Ermitteln der Anzahl aufeinanderfolgender Anmeldetage eines Benutzers
  • So fragen Sie den Code fortlaufender Datumsdatensätze in SQL Server ab

<<:  Was sind die neuen CSS-Pseudoklassenfunktionen :where und :is?

>>:  Vue elementUI implementiert Baumstrukturtabelle und Lazy Loading

Artikel empfehlen

So verweisen Sie auf jQuery in einer Webseite

Die Referenzierung ist über CDN (Content Delivery ...

Sieben Möglichkeiten zur Implementierung der Array-Deduplizierung in JS

Inhaltsverzeichnis 1. Verwenden von Set()+Array.f...

Methoden und Probleme zum Festlegen des HTML-Zeilenabstands

Um den Zeilenabstand von <p></p> festz...

MySQL-Datenbank-Grundlagen SQL-Fensterfunktion Beispielanalyse-Tutorial

Inhaltsverzeichnis Einführung Einführung Aggregat...

Beispiele für JavaScript-Entschüttelungen und Drosselung

Inhaltsverzeichnis Stabilisierung Drosselung: Ant...

Lassen Sie uns über die Speicher-Engine in MySQL sprechen

Grundlagen In einer relationalen Datenbank entspr...

Vollständiger Schrittbericht der TabBar-Komponente der Vue-Kapselung

Inhaltsverzeichnis Umsetzungsideen: Schritt 1: Ko...

So verwenden Sie http und WebSocket in CocosCreator

Inhaltsverzeichnis 1. HttpGET 2. HTTP POST WebSoc...

Neuer Ansatz zum Umschalten der Tab-Leiste mit zwei Auswahlmöglichkeiten in Vue

Problembeschreibung Wenn wir an einem Projekt arb...