[MySQL跨表更新]根据一个表的统计分组数据更新另一个表中某个字段
例如要根据topicpk(话题pk表)的用户参与量统计来更新topic(话题表)中的字段user_involvement(用户参与量).
topic话题表截图:
topicpk话题pk表截图:
这里话题pk表和话题表关联,外键为topic_id对应话题表中id。
分组统计pk表中topic_id如下:
要用统计的话题量数据更新话题表的用户参与量字段:
代码如下:
UPDATE topic A
INNER JOIN (
SELECT
topic_id,
COUNT(*) as pk
FROM
topicpk
GROUP BY
topic_id
) as B
ON A.id = B.topic_id
SET A.user_involvement= B.pk其中, A.user_involvement是需要更新的表的列,B.pk为topicpk表里统计分组的统计topic_id数据列。