如何将单个出现的重复名称插入另一个表?

时间:2012-03-16 21:15:03

标签: mysql

我需要将每个重复名称中的一个从一个表插入另一个表中 并且仅重复。

以下查询列出了所有重复的名称和计数:

select name, count(name) as cnt
from my_table
group by name
having cnt > 1
order by name

如何将每个事件中的一个插入另一个表?

更新

我的桌子不一样。 我的新表只有以下行:

id (auto increment)  
name (varchar)  

1 个答案:

答案 0 :(得分:3)

首先创建表。

然后将数据插入新表:

insert into new_table 
select name, count(name) as cnt
from my_table
group by name
having count(name) > 1
order by name

详细信息请咨询12.2.5.1. INSERT ... SELECT Syntax

<强> EDITED

您可以指定列名称或顺序,例如:

insert into new_table (column1, column2)
select name, count(name) as cnt
...

对于您的表格,您需要创建另一个字段来存储cnt

alter table `new_table` add column cnt int;

insert into new_table (name, cnt)
select name, count(name) as cnt
...