我有这个表,它保存社交网站的用户关系,结构如下。
+--------+----------------+
| user_id| friend_user_id |
+--------+----------------+
表中的每个关系都有2条记录。如下所示:
+--------+----------------+
| user_id| friend_user_id |
+--------+----------------+
| 1 | 2 |
| 2 | 1 |
| 4 | 7 |
| 8 | 15 |
| 7 | 4 |
| 15 | 8 |
+--------+----------------+
现在我需要做的是每一个关系只有一个记录。意思是我需要删除每个关系的每一条记录。
我尝试了各种查询无济于事。如果有人能提出合适的查询,我将非常感激。
答案 0 :(得分:3)
看起来这些关系成对存在。因此,用户A将用户B作为朋友,而用户B将用户A作为朋友。如果我正确地阅读了你的问题,你想要删除其中一个关系但是留下另一个关系。
由于它们具有不同的user_id,您可以删除user_id大于friend_user_id的所有行。这将删除其中一个关系但保留另一个关系。
delete table where user_id > friend_user_id