mysql - 忽略数据库中的重复行

标签 mysql sql

我有一个 csv 文件,我已将其导入到 phpmyadmin 的数据库中,我需要将一个新的 csv 文件写入一个文件,但忽略重复的电子邮件,例如,如果我的查询找到这两行:

41  Alain   Aiseng  a.as@gmail.com  DL MCI    

42  Alain   Aiseng  a.as@gmail.com  LNKD 05 14   

在我的新 csv 输出中应该忽略这两行。这应该是什么 SQL 查询?

最佳答案

您可以为此生成查询(然后将结果保存到文件中)。查询是:

select t.*
from table t
group by name, email
having count(*) = 1;

nameemail对应于保留 Alain Aiseng 的任何列和 a.as@example.com .

请注意,这使用了 MySQL 功能,其中列名不必位于 group by 中。用于聚合查询。这是此功能完全可以安全使用的一种情况,因为 having子句指定只有一行符合条件。

关于mysql - 忽略数据库中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665052/

相关文章:

mysql - 返回仅包含不带空格的值的列

sql - 在 MySQL 语句中匹配 ID 集的“更好”方法

MySQL `INSERT INTO SELECT` 子句在唯一字段上生成重复条目错误

sql - 同时运行oracle数据库中相关或相同的程序,互不干扰

php - Mysql-链接资源

sql - NodeJS 和 PostgreSQL 函数返回元组,而不是行

mysql - 如何用其他功能替换/优化 IN?

mysql - SQL UPDATE 在字段/列中添加值

mysql - 如何重写SQL查询以在MariaDB和MySQL上实现相同的性能

mysql - 第 1 行的错误 13 (HY000) : Can't get stat of (Errcode: 13)