sql:如何用唯一值更新列

cbwuti44  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(325)

下面是一个mysql查询:

SELECT 
    COUNT(*) AS counted, employer_group
FROM
    employer_survey
GROUP BY employer_group
HAVING counted > 1;

在我更改的表定义之前 employer_group 为了独特,我需要创建一个 UPDATE 对帐单 CONCAT() 价值 created_dtemployer_group 因此alter表不会因为值而失败。
我该怎么做?我不能回来了 id 因为我正在使用 GROUP BY 以及 HAVING .
我应该说我想要 id 返回列,以便我可以使用上面的 SELECT 带着一个 IN 我的 UPDATE 声明。这可能不是最好的办法。

0sgqnhkj

0sgqnhkj1#

你可以这样做 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);

相关问题