求更有效率的mysql语句:Insert into 。。group by。。的多个结果到新表

rdfzfanghui rdfzfanghui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我想把表2中的结果赋给表1
现在的语句比较冗余如下所示,求更有效率的语句,先谢谢各位高手了:
insert into `Table 1` (`Region`, `Group1`) /*插入group1
select * from
(
select `Region`,sum(`Criteria`) as Group1 from `Table2`
where `Criteria`="Group1"
group by `Criteria`
)var
on duplicate key update `Group1`=var.Group1

insert into `Table 1` (`Region`, `Group2`) /*插入group2
select * from
(
select `Region`,sum(`Criteria`) as Group2 from `Table2`
where `Criteria`="Group2"
group by `Criteria`
)var
on duplicate key update `Group2`=var.Group2

insert into `Table 1` (`Region`, `Group3`) /*插入group3
select * from
(
select `Region`,sum(`Criteria`) as Group3 from `Table2`
where `Criteria`="Group3"
group by `Criteria`
)var
on duplicate key update `Group3`=var.Group3
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
rdfzfanghui
MySQL 57,062 成员 56,759 内容