假设这是我的表:
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的电子邮件分组来排序这些数据,但这不起作用(可能只是在找到的第一条记录上过滤,而不是数据的组合子集 - 有意义)。
我确信这是一个简单的,我只是在那些日子里,有任何帮助表示赞赏。
答案 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