Heim > Datenbank > MySQL-Tutorial > Wie finde ich mithilfe von SQL Benutzer mit mehreren Zahlungen am selben Tag?

Wie finde ich mithilfe von SQL Benutzer mit mehreren Zahlungen am selben Tag?

Patricia Arquette
Freigeben: 2025-01-08 21:50:54
Original
402 Leute haben es durchsucht

How to Find Users with Multiple Payments on the Same Day Using SQL?

SQL-Abfragen zum Finden von Benutzern mit mehreren Zahlungen am selben Tag

In diesem Artikel wird gezeigt, wie Sie mit SQL Benutzer identifizieren, die mehrere Zahlungen am selben Tag getätigt haben, mit einer zusätzlichen Verfeinerung, um nur unterschiedliche Postleitzahlen zu berücksichtigen. Wir verwenden eine PAYMENT-Tabelle mit Spalten für user_id, account_no, zip und date.

Erste Abfrage (ohne eindeutige Postleitzahl):

Der erste Ansatz verwendet eine GROUP BY- und HAVING-Klausel, um Zahlungen zu zählen:

<code class="language-sql">SELECT 
    user_id,
    COUNT(*) AS payment_count
FROM 
    PAYMENT
GROUP BY
    user_id,
    account_no,
    date
HAVING COUNT(*) > 1;</code>
Nach dem Login kopieren

Diese Abfrage gruppiert Zahlungen nach Benutzer, Kontonummer und Datum. Die HAVING-Klausel filtert die Ergebnisse, um nur Benutzer anzuzeigen, die an einem bestimmten Tag mehr als eine Zahlung über dasselbe Konto getätigt haben.

Verbesserte Abfrage (mit eindeutiger Postleitzahl):

Um sicherzustellen, dass nur unterschiedliche Postleitzahlen berücksichtigt werden, wird eine Unterabfrage eingeführt, um vor dem Gruppieren und Zählen eindeutige Kombinationen aus Benutzer, Konto, Postleitzahl und Datum auszuwählen:

<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>
Nach dem Login kopieren

Diese verfeinerte Abfrage erstellt zunächst mithilfe der Unterabfrage (distinct_payments) einen eindeutigen Satz von Zahlungsdatensätzen. Anschließend gruppiert es diese unterschiedlichen Datensätze und wendet die HAVING-Klausel an, um Benutzer mit mehreren Zahlungen am selben Tag zu identifizieren, wobei für jede Zahlung nur unterschiedliche Postleitzahlen berücksichtigt werden. Dadurch wird sichergestellt, dass ein Benutzer mit mehreren Zahlungen auf dasselbe Konto am selben Tag, aber mit unterschiedlichen Postleitzahlen, nicht in die Ergebnisse einbezogen wird.

Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe von SQL Benutzer mit mehreren Zahlungen am selben Tag?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage