1

データベース テーブル内の重複値に関する統計を照会する必要があります。たとえば、電子メール フィールドがあり、複数の行に同じ電子メールを含めることができるとします。知りたいのは、アドレスが何繰り返されるかです。つまり、「908 通のメールは 10 回繰り返され、1783 通のメールは 9 回繰り返されます」などです。

Repeated       # of Emails
10             908
9              1783

実際の電子メール アドレスを確認する必要はありません。これらの統計だけを確認する必要があります。

電子メールアドレスも取得する次のクエリがあることを知っています。

select email_address,
count(email_address) as NumberOccurrences
from table_user_info
group by email_address
having ( count(email_address) > 1 )

これらの結果をグループ化するにはどうすればよいですか?

4

2 に答える 2

2

集計COUNT()を返すサブクエリを持つ集計COUNT()は、これを提供します。のように、サブクエリは電子メール アドレスごとにグループ化してカウントしabc@example.com - 10、次に外側のクエリは、サブクエリによって返された繰り返し回数でカウントおよびグループ化して、実際の電子メール アドレスを破棄します。

SELECT
  repeated,
  COUNT(*) AS numemails
FROM (
  SELECT 
     email,
     COUNT(*)
  FROM emails
  GROUP BY email
) emailcounts
于 2012-06-20T20:12:20.250 に答える
0
select email_address,
       count(email_address) as NumberOccurrences
from table_user_info
group by email_address
having count(*) > 1
于 2012-06-20T20:18:25.377 に答える