Можно ли выбрать стек значений с помощью MYSQL GROUP BY - PullRequest
0 голосов
/ 01 июля 2011

Я получил запрос, подобный этому:

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?Или есть предложение получить этот результат?

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 01 июля 2011
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
0 голосов
/ 01 июля 2011

Использовать GROUP_CONCAT:

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

(РЕДАКТИРОВАТЬ: неправильно прочитал вопрос)

...