【发布时间】:2016-09-17 12:28:09
【问题描述】:
所以我在这里遇到了需要删除重复记录的情况。 这里的场景是我有 5 个关键字段。 4 个字段是实际数据,第 5 个字段是自动生成的唯一编号。 因此,当我仅使用这 4 个字段来检查使用组的计数时,我有大约 400 条记录的重复项。但是这些重复记录的唯一编号是不同的(我们可以删除唯一编号最大值的记录)。 有没有办法删除这些重复记录? 这些也是其他 6 个非主键字段,但仅供参考。
比如说:
+----------+-------+---------+---------+-----------+
| Field | Field | Field 3 | Field 4 | Unique,Id |
| 1 | 2 | | | |
+----------+-------+---------+---------+-----------+
| Batman | 100 | 50 | Chicago | 100 |
+----------+-------+---------+---------+-----------+
| Batman | 100 | 50 | Chicago | 101 |
+----------+-------+---------+---------+-----------+
| Superman | 50 | 50 | Florida | 102 |
+----------+-------+---------+---------+-----------+
| Flash | 90 | 40 | London | 103 |
+----------+-------+---------+---------+-----------+
| Flash | 90 | 40 | London | 104 |
+----------+-------+---------+---------+-----------+
在本例中,前 4 个字段是实际数据字段。
因此您可以看到 Batman 和 flash 具有重复值(对于前 4 个字段),但唯一 id 不同。所以在这里我需要从每个记录中删除一条记录,这样它们就不会保持重复。可以删除该重复记录的唯一 ID 的最大值。所以 102 和 104 是 Batman 和 Flash 的最大唯一 ID 值,应该删除它们。
请帮帮我。
【问题讨论】:
-
MySQL 还是 MS SQL Server?不要标记未涉及的产品。
-
无论哪个dbms,这是一个很老的问题,搜索一下很容易找到。
-
具有讽刺意味的“重复”问题被标记为重复!
标签: mysql sql sql-server sql-server-2008