我有下表名为information
。
如上图所示,有一个名为number
的列,此列有许多重复值。
我想要的是,如果该行重复,请将其tab
单元格更新为1
,否则请将其保留为0
。 < / p>
以下是我的所作所为。
$query = mysql_query("UPDATE information SET tab='1' WHERE number = (SELECT distinct number FROM information)");
答案 0 :(得分:4)
UPDATE information
SET tab = '1'
WHERE number IN (SELECT number
FROM (SELECT number
FROM information
GROUP BY number
HAVING count(*) > 1
) AS temp)
子查询将返回所有重复的number
值。
编辑:我已经尝试过,MySQL显示1093错误。我刚刚根据找到的解决方案编辑了查询here。
答案 1 :(得分:1)
我会使用update
和join
:
UPDATE information i join
(select number
from information i
group by number
having count(*) > 1
) idups
on i.number = idups.number
SET i.tab = '1';