我有一个csv文件,我已经在phpmyadmin的数据库中导入了,我需要写一个新的csv文件而忽略重复的电子邮件,例如,如果我的查询找到这两行:
41 Alain Aiseng a.as@gmail.com DL MCI
42 Alain Aiseng a.as@gmail.com LNKD 05 14
我的新csv输出中应该忽略两行。这个SQL查询应该是什么?
答案 0 :(得分:3)
您可以为此生成查询(然后将结果保存到文件中)。查询是:
select t.*
from table t
group by name, email
having count(*) = 1;
列name
和email
对应于Alain Aiseng
和a.as@example.com
的任何列。
请注意,这使用MySQL功能,其中列名不必在group by
中用于聚合查询。这是一个完全可以安全使用此功能的情况,因为having
子句指定只有一行符合条件。
答案 1 :(得分:3)
select * from table
where email not in
(select email from table group by email having count(*)>1)a;