Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Pembayaran Akaun Duplikat dalam SQL dengan dan tanpa Penapisan Kod ZIP?

Bagaimana untuk Mencari Pembayaran Akaun Duplikat dalam SQL dengan dan tanpa Penapisan Kod ZIP?

Susan Sarandon
Susan Sarandonasal
2025-01-08 21:36:53718semak imbas

How to Identify Duplicate Account Payments in SQL (With and Without ZIP Code Filtering)

Mengesan Pembayaran Akaun Pendua dalam Pangkalan Data SQL

Panduan ini menunjukkan cara menggunakan SQL untuk menentukan rekod pembayaran pendua untuk pengguna tunggal, dengan dan tanpa pertimbangan kod ZIP.

Mengenal pasti Pembayaran Pendua (Tanpa Poskod)

Pertanyaan SQL berikut dengan cekap mengenal pasti keadaan di mana pengguna mempunyai berbilang pembayaran yang dikaitkan dengan nombor akaun yang sama:

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

Pertanyaan ini mengumpulkan rekod pembayaran mengikut account_no, user_id dan payment_date. Fungsi COUNT(*) mengira pembayaran untuk setiap kumpulan, dan klausa HAVING menapis hasil, menunjukkan hanya kumpulan dengan lebih daripada satu pembayaran (pendua).

Menambah Penapisan Kod ZIP untuk Ketepatan Dipertingkat

Untuk memastikan bahawa hanya pembayaran dengan kod ZIP yang berbeza dianggap sebagai pendua, kami mengubah suai pertanyaan:

<code class="language-sql">SELECT
  user_id,
  account_no,
  payment_date,
  COUNT(*) AS payment_count
FROM
  (
    SELECT DISTINCT
      user_id,
      account_no,
      zip,
      payment_date
    FROM
      payment
  ) AS distinct_payments
GROUP BY
  user_id,
  account_no,
  payment_date
HAVING
  payment_count > 1;</code>

Pertanyaan dipertingkat ini menggunakan subkueri (distinct_payments) untuk memilih gabungan unik user_id, account_no, zip dan payment_date. Pertanyaan utama kemudian mengumpulkan dan mengira rekod yang berbeza ini, mengenal pasti pembayaran pendua hanya apabila ia melibatkan kod ZIP yang berbeza. Pendekatan ini menyediakan analisis pembayaran pendua yang lebih tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Pembayaran Akaun Duplikat dalam SQL dengan dan tanpa Penapisan Kod ZIP?. 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