ホームページ > データベース > mysql チュートリアル > SQL を使用して、同じアカウントで複数の日次支払いを持つユーザーを識別する方法は?

SQL を使用して、同じアカウントで複数の日次支払いを持つユーザーを識別する方法は?

Mary-Kate Olsen
リリース: 2025-01-08 21:52:52
オリジナル
445 人が閲覧しました

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

SQL を使用して、同じアカウントで毎日複数の支払いを行っているユーザーを検索する

このガイドでは、同じ日に同じ口座番号を使用し、異なる郵便番号で複数回の支払いを行ったユーザーを識別する方法を説明します。 PAYMENTuser_idaccount_nozip 列を含む date テーブルを使用します。

初期 SQL クエリ:

このクエリは、アカウントごとに 1 日に複数回の支払いを行うユーザーを特定します。

<code class="language-sql">SELECT
  user_id,
  COUNT(*) AS payment_count
FROM
  PAYMENT
GROUP BY
  account_no,
  user_id,
  date
HAVING
  COUNT(*) > 1;</code>
ログイン後にコピー

これにより、アカウント番号、ユーザー ID、日付別に支払いがグループ化され、複数の支払いがあるグループのみが表示されるようにフィルターされます。

個別の郵便番号に対する拡張クエリ:

複数の支払いを行っているユーザーのみがおよび異なる郵便番号で識別されるように、サブクエリを使用します。

<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>
ログイン後にコピー

このサブクエリ (distinct_payments) は、最初にユーザー、アカウント、郵便番号、日付の一意の組み合わせを選択します。次に、メイン クエリはこのサブセットをグループ化してフィルタリングし、複数の支払いと個別の郵便番号を持つレコードのみが返されることを保証します。 AS distinct_payments 句は、わかりやすくするためにサブクエリにエイリアスを割り当てます。

以上がSQL を使用して、同じアカウントで複数の日次支払いを持つユーザーを識別する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート