我有一個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