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

我想把表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
...全文
相关推荐
正确使用MySQL INSERT INTO语句
正确使用MySQL INSERT INTO语句MySQL INSERT INTO语句是MySQL中最基本也是最常用的语句之一,用于向数据库表中插入新数据。本文将详细介绍MySQL INSERT
MYSQL SELECT INTO 和 INSERT INTO SELECT
#### 二、INSERT INTO SELECT 语句**1. 描述与用途**`INSERT INTO SELECT`语句主要用于将一个表中的数据复制到另一个已经存在的表中。
解析MySQL中INSERT INTO SELECT的使用
在MySQL中,`INSERT INTO SELECT` 是一种强大的数据库操作语句,主要用于从一个或多个源表中选择数据,并将其插入到目标表中。该操作适用于需要根据现有数据动态填充目标表的情况。以下是
MySQL去重该使用distinct还是group by?
在进行数据库查询时,经常会遇到需要去重的情况,MySQL提供了两种方法来实现去重,一种是使用DISTINCT关键字,另一种是使用GROUP BY语句。
MySQL查询结果复制到新表的方法(更新、插入)
在MySQL数据库管理中,有时我们需要将查询的结果复制到另一张新表中,或者对已有数据进行更新。这在数据迁移、备份或者数据处理时非常常见。


