SQL を使用して、同じアカウントで毎日複数の支払いを行っているユーザーを検索する
このガイドでは、同じ日に同じ口座番号を使用し、異なる郵便番号で複数回の支払いを行ったユーザーを識別する方法を説明します。 PAYMENT
、user_id
、account_no
、zip
列を含む 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 サイトの他の関連記事を参照してください。