Rumah >pangkalan data >tutorial mysql >Bagaimana Mengenalpasti Pengguna dengan Pelbagai Pembayaran Harian pada Akaun Yang Sama Menggunakan SQL?

Bagaimana Mengenalpasti Pengguna dengan Pelbagai Pembayaran Harian pada Akaun Yang Sama Menggunakan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-08 21:52:52412semak imbas

How to Identify Users with Multiple Daily Payments on the Same Account Using SQL?

Menggunakan SQL untuk Mencari Pengguna dengan Berbilang Pembayaran Harian pada Akaun Yang Sama

Panduan ini menunjukkan cara mengenal pasti pengguna yang telah membuat lebih daripada satu pembayaran pada hari yang sama, menggunakan nombor akaun yang sama dan dengan kod ZIP yang berbeza. Kami akan menggunakan jadual PAYMENT, yang mengandungi lajur user_id, account_no, zip dan date.

Pertanyaan SQL Awal:

Pertanyaan ini mengenal pasti pengguna dengan berbilang pembayaran setiap hari, setiap akaun:

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

Ini mengumpulkan pembayaran mengikut nombor akaun, ID pengguna dan tarikh, kemudian menapis untuk menunjukkan hanya kumpulan dengan lebih daripada satu pembayaran.

Pertanyaan Dipertingkat untuk Kod Pos Berbeza:

Untuk memastikan bahawa hanya pengguna dengan berbilang pembayaran dan kod ZIP yang berbeza dikenal pasti, kami menggunakan subquery:

<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>

Subkueri ini (distinct_payments) mula-mula memilih gabungan unik pengguna, akaun, poskod dan tarikh. Pertanyaan utama kemudian mengumpulkan dan menapis subset ini, menjamin bahawa hanya rekod dengan berbilang pembayaran dan kod ZIP yang berbeza dikembalikan. Klausa AS distinct_payments memberikan alias kepada subkueri untuk kejelasan.

Atas ialah kandungan terperinci Bagaimana Mengenalpasti Pengguna dengan Pelbagai Pembayaran Harian pada Akaun Yang Sama Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn