Mit SQL Benutzer mit mehreren täglichen Zahlungen auf demselben Konto finden
Diese Anleitung zeigt, wie Sie Benutzer identifizieren, die am selben Tag mehr als eine Zahlung mit derselben Kontonummer und unterschiedlichen Postleitzahlen getätigt haben. Wir verwenden die Tabelle PAYMENT
, die die Spalten user_id
, account_no
, zip
und date
enthält.
Erste SQL-Abfrage:
Diese Abfrage identifiziert Benutzer mit mehreren Zahlungen pro Tag und pro Konto:
<code class="language-sql">SELECT user_id, COUNT(*) AS payment_count FROM PAYMENT GROUP BY account_no, user_id, date HAVING COUNT(*) > 1;</code>
Dadurch werden Zahlungen nach Kontonummer, Benutzer-ID und Datum gruppiert und dann gefiltert, um nur Gruppen mit mehr als einer Zahlung anzuzeigen.
Erweiterte Abfrage für eindeutige Postleitzahlen:
Um sicherzustellen, dass nur Benutzer mit mehreren Zahlungen und unterschiedlichen Postleitzahlen identifiziert werden, verwenden wir eine Unterabfrage:
<code class="language-sql">SELECT user_id, account_no, date, COUNT(*) AS payment_count FROM (SELECT DISTINCT user_id, account_no, zip, date FROM PAYMENT) AS distinct_payments GROUP BY user_id, account_no, date HAVING COUNT(*) > 1;</code>
Diese Unterabfrage (distinct_payments
) wählt zunächst eindeutige Kombinationen aus Benutzer, Konto, Postleitzahl und Datum aus. Die Hauptabfrage gruppiert und filtert dann diese Teilmenge und stellt so sicher, dass nur Datensätze mit mehreren Zahlungen und unterschiedlichen Postleitzahlen zurückgegeben werden. Die AS distinct_payments
-Klausel weist der Unterabfrage aus Gründen der Übersichtlichkeit einen Alias zu.
Das obige ist der detaillierte Inhalt vonWie identifiziere ich mithilfe von SQL Benutzer mit mehreren täglichen Zahlungen auf dasselbe Konto?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!