如何结合选择和更新mysql

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

我在一个表中聚合数据,基本上把数据从一个表移到下一个表。
目前,我正在选择mysql中的所有数据,然后将其插入到新表中。
有没有一种方法可以将这个查询组合起来,在mysql中完成这一切,而不是将数据取出然后再放回?
基本上,我想结合以下内容:

'''update landing_pages_v3 set mobile_first_place_rankings=%s where id=%s''', data

'''select count(keyword), lp_id from keywords_v3 where profile_id=%s and device=%s and positions=1 group by lp_id''', (profile_id, device)
pbossiut

pbossiut1#

你可以 JOIN 将查询作为 UPDATE :

UPDATE landing_pages_v3 AS l
JOIN (
    SELECT count(*) AS ct, lp_id
    FROM keywords_v3
    WHERE profile_id=%s AND device=%s AND positions=1
    GROUP BY lp_id
) AS k ON l.id = k.lp_id
SET mobile_first_place_rankings = k.ct

相关问题