在MySQL中组织重复

时间:2011-12-02 11:47:11

标签: mysql duplicates

假设这是我的表:

email |  col1 |  col2
------+-------+------
a@a   |   1   |   0
a@a   |   0   |   1
b@b   |   0   |   1
c@c   |   1   |   0

我正在尝试更新电子邮件包含多个相同条目的每一行。在上面的表格中,@ a列出两次,col1为1,下一个记录为col2中的1。我想要一个@ a的单个记录,col1和col2都是1。然后我可以删除重复。

然后我应该留下一个表格,其中只有每个电子邮件的记录存在,然后我可以过滤col1,col2或两者中的1。

我尝试使用col1 = 1和col2 = 1的电子邮件分组来排序这些数据,但这不起作用(可能只是在找到的第一条记录上过滤,而不是数据的组合子集 - 有意义)。

我确信这是一个简单的,我只是在那些日子里,有任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

这会有所帮助:

select email, max(col1) as col1, max(col2) as col2 from table group by email

答案 1 :(得分:0)

insert into table_new 
select email, max(col1), max(col2) 
from table_old
group by email