Maison > base de données > tutoriel mysql > Comment identifier les utilisateurs avec plusieurs paiements quotidiens sur le même compte à l'aide de SQL ?

Comment identifier les utilisateurs avec plusieurs paiements quotidiens sur le même compte à l'aide de SQL ?

Mary-Kate Olsen
Libérer: 2025-01-08 21:52:52
original
412 Les gens l'ont consulté

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

Utiliser SQL pour rechercher des utilisateurs avec plusieurs paiements quotidiens sur le même compte

Ce guide montre comment identifier les utilisateurs qui ont effectué plus d'un paiement le même jour, en utilisant le même numéro de compte et avec des codes postaux différents. Nous utiliserons le tableau PAYMENT, contenant les colonnes user_id, account_no, zip et date.

Requête SQL initiale :

Cette requête identifie les utilisateurs ayant plusieurs paiements par jour et par compte :

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

Cela regroupe les paiements par numéro de compte, identifiant d'utilisateur et date, puis filtre pour afficher uniquement les groupes avec plus d'un paiement.

Requête améliorée pour les codes postaux distincts :

Pour garantir que seuls les utilisateurs ayant plusieurs paiements et codes postaux distincts sont identifiés, nous utilisons une sous-requête :

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

Cette sous-requête (distinct_payments) sélectionne d'abord des combinaisons uniques d'utilisateur, de compte, de code postal et de date. La requête principale regroupe et filtre ensuite ce sous-ensemble, garantissant que seuls les enregistrements comportant plusieurs paiements et des codes postaux distincts sont renvoyés. La clause AS distinct_payments attribue un alias à la sous-requête pour plus de clarté.

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!

source:php.cn
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