我以前做过一次,我根本不知道我是怎么做到的。这是一个大得多的过程的一部分,所以为什么不值得一提。
表中有一列,需要存储行的重复次数。即
表当前如下所示
content | repeated
-------------------
aaa | NULL
bob | NULL
aaa | NULL预期输出将使表如下所示
content | repeated
-------------------
aaa | 2
bob | 1
aaa | 2我可以使用distinct (*)获取这些计数,但在我的一生中,我无法记住如何获得针对整个表运行的单个查询,以及如何更新所有记录重复字段。
发布于 2016-07-13 15:35:22
您必须使用子查询来确定按内容重复的次数,将其包装到另一个完全没有意义的子查询中,以绕过MySQL对从正在修改的表中进行选择的限制,并在原始表上的update语句中加入该子查询:
update yourtable
inner join
(select *
from
(select content, count(*) as repeat
from yourtable
group by content
) t1
) t2 on yourtable.content=t2.content
set yourtable.repeated=t2.repeathttps://stackoverflow.com/questions/38355797
复制相似问题