Geschäftslogik Veröffentlichen Sie den Link zur Aktivitätsseite des Miniprogramms über verschiedene Kanäle, z. B. durch Senden von Links per Textnachricht (Kanäle werden als SMS1, SMS2, SMS3 aufgezeichnet) oder durch Posten des QR-Codes des WeChat-Miniprogramms auf einem Poster (Kanäle werden als QR-Code1, QR-Code2, QR-Code3 aufgezeichnet). Offline-Mitglieder können auch durch Scannen des QR-Codes auf die angegebene Aktivitätsseite des Miniprogramms zugreifen oder das Miniprogramm über den von anderen Mitgliedern freigegebenen Miniprogramm-Link aufrufen (Kanal wird als „Teilen“ aufgezeichnet). Diese unterschiedlichen Eingabemethoden werden in diesem Artikel zusammenfassend als unterschiedliche Kanäle bezeichnet, wobei es sich um das erwähnte Kanalfeld handelt. Wenn Sie die Aktivitätsseite über verschiedene Kanäle aufrufen, wird ein Seitenbesuchsdatensatz generiert. Es wird in der Page_View-Tabelle gezählt. Nachdem Mitglieder die angegebene Aktivitätsseite des Miniprogramms aufgerufen und eine Reihe von Vorgängen auf der Seite ausgelöst haben, erhalten sie entsprechendes Feedback, z. B. das Sammeln von Punkten oder Coupons usw. Dieser Schritt wird als Teilnahme bezeichnet. Diese Daten werden in der Tabelle „activity_record“ aufgezeichnet. Nun verlangte die Dame von der Betriebsabteilung einen Datenreport. Zu welcher Zeit und über welchen Kanal ist jedes an der Veranstaltung teilnehmende Mitglied zur Veranstaltung gelangt? Datentabellenstruktur
Abfragelogik Denn jedes Mitglied kann nur an einer Aktivität teilnehmen, das heißt, es kann während der Aktivität nur einmal Punkte sammeln, einmal einen Coupon erhalten usw., was bedeutet, dass jedes Mitglied höchstens einen activity_record-Datensatz generiert. Die Aufzeichnungsmethode der Page_View-Tabelle ist jedoch unterschiedlich. Ein Mitglied hat möglicherweise einen Link per SMS erhalten, einen Event-QR-Code gescannt oder den Event-Link von einem Freund geteilt bekommen. Dadurch werden mehrere Seitenzugriffsdatensätze für dieses Mitglied generiert, d. h. mehrere Daten in der Seitenansicht. Bedenken Sie, dass Mitglieder zunächst über einen bestimmten Kanal auf die Veranstaltungsseite zugreifen müssen, bevor sie an der Veranstaltung teilnehmen können. Das heißt, wenn mehrere Seitenaufrufdaten vorhanden sind, die in umgekehrter Reihenfolge nach Anzeigezeit angeordnet sind, wird es immer eine Anzeigezeit geben, die kleiner ist als die Teilnahmezeit des Aktivitätsdatensatzes und ihr am nächsten kommt, und die Anzeigezeit des nächsten Seitenaufrufs wird größer sein als die Teilnahmezeit des Aktivitätsdatensatzes. SQL-SkripteWählen Sie c.member_id,c.view_time,.channel aus ( WÄHLEN Mitglieds-ID, SUBSTRING_INDEX( GROUP_CONCAT( Ansichtszeit ORDER BY Ansichtszeit DESC ), ',', 1 ) AS Ansichtszeit, SUBSTRING_INDEX( GROUP_CONCAT( Kanal ORDER BY Kanal DESC ), ',', 1 ) AS Kanal AUS Seitenansicht a LEFT JOIN Aktivitätsdatensatz b auf a.member_id = b.member_id wobei a.Anzeigezeit < b.Teilnahmezeit GRUPPELN NACH Mitglieds-ID) c; Skriptbeschreibung
Damit ist dieser Artikel über das Implementierungsbeispiel der MySQL-Tabellen-verbundenen Abfragegruppierung und Deduplizierung abgeschlossen. Weitere Informationen zur MySQL-Tabellen-verbundenen Abfragegruppierung und Deduplizierung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Benutzerzentriertes Design
>>: Detaillierte Erläuterung gängiger Methoden von JavaScript Array
Der Weg vor uns ist immer so schwierig und voller...
Für viele HTML-Neulinge ist die Tabelle <table...
Inhaltsverzeichnis 1. Warum NanoID UUID ersetzt 2...
1Mehrere gängige Zeichensätze Zu den gängigsten Z...
1. Warum diesen Artikel schreiben? Sie haben sich...
Der zu erzielende Effekt: Wenn die Maus auf das k...
Beim Erstellen einer Tabellenseite ist die für td ...
<Head>……</head> gibt den Dateikopf vo...
Inhaltsverzeichnis Vorwort Einführung Live Einfac...
Vorwort Die Benachrichtigungsleistenkomponente is...
In diesem Artikel wird der spezifische JavaScript...
MySQL 5.7.9 Version sql_mode=only_full_group_by P...
Tatsächlich haben viele Unternehmen ähnliche Funk...
Inhaltsverzeichnis Hörer beobachten Format Richte...
Problembeschreibung: Wenn die Anzahl der asynchro...