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 回答