Maison > base de données > tutoriel mysql > Comment trouver des paiements de compte en double dans SQL avec et sans filtrage de code postal ?

Comment trouver des paiements de compte en double dans SQL avec et sans filtrage de code postal ?

Susan Sarandon
Libérer: 2025-01-08 21:36:53
original
721 Les gens l'ont consulté

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

Détection des paiements de compte en double dans les bases de données SQL

Ce guide montre comment utiliser SQL pour identifier les enregistrements de paiement en double pour un seul utilisateur, avec et sans prise en compte du code postal.

Identification des paiements en double (sans code postal)

La requête SQL suivante identifie efficacement les cas où un utilisateur a plusieurs paiements associés au même numéro de compte :

SELECT
  user_id,
  COUNT(*) AS payment_count
FROM
  PAYMENT
GROUP BY
  account_no,
  user_id,
  payment_date
HAVING
  payment_count > 1;
Copier après la connexion

Cette requête regroupe les enregistrements de paiement par account_no, user_id et payment_date. La fonction COUNT(*) compte les paiements pour chaque groupe et la clause HAVING filtre les résultats, affichant uniquement les groupes avec plus d'un paiement (doublons).

Ajout du filtrage des codes postaux pour une précision améliorée

Pour garantir que seuls les paiements avec des codes postaux distincts soient considérés comme des doublons, nous modifions la requête :

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;
Copier après la connexion

Cette requête améliorée utilise une sous-requête (distinct_payments) pour sélectionner des combinaisons uniques de user_id, account_no, zip et payment_date. La requête principale regroupe et compte ensuite ces enregistrements distincts, identifiant les paiements en double uniquement lorsqu'ils impliquent des codes postaux différents. Cette approche permet une analyse plus précise des paiements en double.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal