我需要将每个重复名称中的一个从一个表插入另一个表中 并且仅重复。
以下查询列出了所有重复的名称和计数:
select name, count(name) as cnt
from my_table
group by name
having cnt > 1
order by name
如何将每个事件中的一个插入另一个表?
更新
我的桌子不一样。 我的新表只有以下行:
id (auto increment)
name (varchar)
答案 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
...