Mysql SQL:如何使用唯一值更新列

Mysql SQL:如何使用唯一值更新列,mysql,sql,Mysql,Sql,下面是一个MySQL查询: SELECT COUNT(*) AS counted, employer_group FROM employer_survey GROUP BY employer_group HAVING counted > 1; 在将created\u group的表定义更改为unique之前,我需要创建一个UPDATE语句,以CONCAT()将created\u dt的值更改为employer\u group,这样更改表不会因为值而失败 我该怎么做?我无

下面是一个MySQL查询:

SELECT 
    COUNT(*) AS counted, employer_group
FROM
    employer_survey
GROUP BY employer_group
HAVING counted > 1;
在将
created\u group
的表定义更改为unique之前,我需要创建一个
UPDATE
语句,以
CONCAT()
created\u dt
的值更改为
employer\u group
,这样更改表不会因为值而失败

我该怎么做?我无法返回
id
列,因为我正在使用
groupby
have


我应该提到,我希望返回
id
列,以便在
UPDATE
语句中使用上述
SELECT
IN
子句。这可能不是最好的方法。

您可以通过加入
来实现这一点:

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);

您的查询有输入错误。请将“员工组”更改为
雇主组
。同样,当我执行时,它影响了936行,但我上面的查询只返回219行。如何修改联接以仅更新219行?没关系。受影响的行数正确。我已更新了您答案中的查询,以更正您的输入错误。