SQL-Abfrage zur Erkennung von Benutzern mit mehreren Zahlungen am selben Tag aus unterschiedlichen Postleitzahlen
Diese SQL-Abfrage analysiert eine PAYMENTS
Tabelle (die Benutzer-IDs, Kontonummern, Postleitzahlen und Zahlungsdaten enthält), um Benutzer zu ermitteln, die mehrere Zahlungen am selben Tag getätigt haben, wobei jede Zahlung dieselbe Kontonummer verwendet, aber aus einer anderen Postleitzahl stammt Codes.
<code class="language-sql">SELECT user_id, COUNT(*) AS payment_count FROM (SELECT DISTINCT user_id, account_no, zip, payment_date FROM PAYMENTS ) AS daily_payments GROUP BY user_id, account_no, payment_date HAVING COUNT(*) > 1;</code>
Erklärung:
Die Abfrage verwendet eine Unterabfrage, um zunächst eindeutige Zahlungsdatensätze basierend auf user_id
, account_no
, zip
und payment_date
auszuwählen. Dadurch werden redundante Einträge vermieden. Die äußere Abfrage gruppiert diese eindeutigen Datensätze dann nach user_id
, account_no
und payment_date
, um Zahlungen für jede eindeutige Kombination zu zählen. Schließlich filtert die HAVING
-Klausel die Ergebnisse und behält nur die Benutzer bei, die an einem bestimmten Tag mehr als eine Zahlung mit derselben Kontonummer getätigt haben. Die Ausgabe zeigt das user_id
und die Anzahl der qualifizierten Zahlungen.
Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe von SQL Benutzer mit mehreren täglichen Zahlungen aus verschiedenen Postleitzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!