我想根据同一个表中另一列的计数更新一列。我试过下面的查询,但没有运气。
update
table
set conntype='Multiple'
where (select COUNT(cpemac) as nos from table group by cpemac) > 1
我收到以下错误:
答案 0 :(得分:1)
在MySQL中,您需要使用JOIN
:
update t join
(select cpemac, count(cpemac) as nos
from t
group by cpemac
) tt
on t.cpemac = tt.cpemac
set t.conntype = 'Multiple'
where cnt > 1;
这是MySQL的一个特定限制。
但是,我应该注意,您的版本不适用于任何数据库。它将更新所有行或不更新行,具体取决于子查询的结果。子查询和外部查询之间没有任何关联。