SQL-Delete Duplicate Emails
2016-01-02 21:02
489 查看
Write a SQL query to delete all duplicate email entries in a table named
For example, after running your query, the above
Person, keeping only unique emails based on its smallest Id.
+----+------------------+ | Id | Email | +----+------------------+ | 1 | john@example.com | | 2 | bob@example.com | | 3 | john@example.com | +----+------------------+ Id is the primary key column for this table.
For example, after running your query, the above
Persontable should have the following rows:
+----+------------------+ | Id | Email | +----+------------------+ | 1 | john@example.com | | 2 | bob@example.com | +----+------------------+
思路: (1)首先说一下inner join(等价于join),以及他的衍生品left/right join。他们的实质就是在笛卡尔积的基础上加上了附加的条件。 (2)然后就是delete的格式: delete from table where..
delete from p1 using Person p1 inner join Person p2 on p1.Id > p2.Id and p1.Email = p2.Email
相关文章推荐
- Oracle创建新用户以及导入数据表dmp文件
- mysql忘记root密码拯救方法(flush privileges)
- oracle 打开trace,并分析trace
- 数据库之自定义函数
- C#操作Dataset数据集与SQLite数据库
- PXC中文文档--第一章
- wdcp 远程连接mysql 出现1130错误 解决办法
- C#窗体连接数据库出现未处理SqlException解决办法
- MemCache 启动
- MySQL与MySQLi
- 获取SqlServer2005表结构(字段,主键,外键,递增,描述)
- Hibernate 不同数据库的连接及SQL方言
- 【Linux学习笔记】Linux-CentOS下安装Redis
- 数据库名和实例
- 使用 EXPLAIN 关键字 检查SQL语句效率
- 数据库建模软件
- MySQL性能优化的最佳20+条经验
- mysql优化常识
- Mongodb集群搭建的三种方式
- oracle中varchar类型的最大长度