我有一个csv文件,我已经导入到phpmyadmin中的数据库中,我需要向文件写入新的csv文件,但忽略重复的电子邮件,例如,如果我的查询发现这两行:忽略数据库中的重复行
41 Alain Aiseng [email protected] DL MCI
42 Alain Aiseng [email protected] LNKD 05 14
在我的新csv输出中应该忽略这两行。什么应该是这个SQL查询?
我有一个csv文件,我已经导入到phpmyadmin中的数据库中,我需要向文件写入新的csv文件,但忽略重复的电子邮件,例如,如果我的查询发现这两行:忽略数据库中的重复行
41 Alain Aiseng [email protected] DL MCI
42 Alain Aiseng [email protected] LNKD 05 14
在我的新csv输出中应该忽略这两行。什么应该是这个SQL查询?
您可以为此生成查询(然后将结果保存到文件中)。查询是:
select t.*
from table t
group by name, email
having count(*) = 1;
列name
和email
对应于哪个字段持有Alain Aiseng
和[email protected]
。
请注意,这使用MySQL功能,其中列名不必位于聚合查询的group by
中。这是该功能完全可以安全使用的一种情况,因为having
子句指定只有一行匹配条件。
这不是一个很好的依靠,它只是回来咬人 - “正是因为这个问题有很多问题。使用一个理智的聚合(或省略非分组列)而不是这个“魔术”。 – user2864740
select * from table
where email not in
(select email from table group by email having count(*)>1)a;
在这里发布阿兰的电子邮件地址可能不是一个好主意。 –
它被修改。 – user7832