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

Implementierung der Remote-Linux-Entwicklung mit vscode

Verabschieden Sie sich von der Vergangenheit Bevo...

Detaillierte Erläuterung der Beispiele für CSS-Gewichtswerte (Kaskadierung)

•Es gibt viele Selektoren in CSS. Was passiert, w...

So füllen Sie Elemente in Spalten im CSS-Rasterlayout

Angenommen, wir haben n Elemente und müssen diese...

Detaillierte Erklärung zur Verwendung der benutzerdefinierten Vue-Baumsteuerung

In diesem Artikel erfahren Sie, wie Sie das benut...

MySql-Import - CSV-Datei oder tabulatorgetrennte Datei

Manchmal müssen wir Daten aus einer anderen Bibli...

Stellen Sie IE8 so ein, dass Code im IE7-Stil verwendet wird

<meta http-equiv="x-ua-kompatibel" co...

So wählen Sie alle untergeordneten Elemente aus und fügen ihnen in CSS Stile hinzu

Verfahren: Nehmen wir „less“ im tatsächlichen Pro...

Eine kurze Analyse von MySQL - MVCC

Versionskette In den Tabellen der InnoDB-Engine g...

Über die richtige Art und Weise der Zeitumrechnung in JS beim Excel-Import

Inhaltsverzeichnis 1. Grundlagen 2. Problembeschr...

IE6-Verzerrungsproblem

Frage: <input type="hidden" name=&qu...

Kodierungsprobleme und -lösungen, wenn MySQL zwei Tabellen verknüpft

Wenn Mysql zwei Tabellen verknüpft, wird eine Feh...

Codebeispiele für allgemeine Vorgänge bei der Docker-Image-Verwaltung

Spiegelung ist auch eine der Kernkomponenten von ...