0

私はこのようなクエリを得ました:

SELECT email
FROM abc_table
GROUP BY email
HAVING ( COUNT(email) > 1 )

だからそれは私を返します:

email   
a@b.com     
c@d.com     
e@f.com

そして今、私は次のようなものを得るためにクエリを調整する必要があります:

email       id
a@b.com     1
a@b.com     2   
c@d.com     3
c@d.com     4
c@d.com     5
e@f.com     6

GROUP BY HAVING を使用してこの結果を取得することは可能ですか? または、この結果を得るための提案はありますか?

どうもありがとう!

4

2 に答える 2

2
SELECT a.email
     , a.id
FROM abc_table a
  JOIN
    ( SELECT email
      FROM abc_table
      GROUP BY email
      HAVING COUNT(email) > 1 
    ) AS ag
    ON ag.email = a.email
于 2011-07-01T08:42:07.597 に答える
0

GROUP_CONCAT を使用します。

SELECT email, GROUP_CONCAT(id) FROM abc_table GROUP BY email

(編集:質問を読み間違えました)

于 2011-07-01T08:41:55.957 に答える