以下是MySQL查询:
SELECT
COUNT(*) AS counted, employer_group
FROM
employer_survey
GROUP BY employer_group
HAVING counted > 1;
在我将employer_group
的表定义更改为唯一之前,我需要创建一个UPDATE
语句,以CONCAT()
created_dt
到employer_group
的值,以便alter table不会因为值而失败。
我该怎么做?我无法返回id
列,因为我使用的是GROUP BY
和HAVING
。
我应该提一下,我希望返回id
列,以便我可以在我的SELECT
语句中使用上面的IN
和UPDATE
子句。这可能不是最好的方法。
答案 0 :(得分:1)
您可以使用join
:
update employer_survey es join
(select es2.employer_group
from employer_survey es2
group by es2.employer_group
having count(*) > 1
) eg
on es.employer_group = eg.employer_group
set es.employer_group = concat_ws(' ', es.employer_group, es.created_dt);