Mysql删除表的第5个元素

时间:2016-12-04 20:17:44

标签: mysql

我有一张桌子:

 ID Friend
John    Rita
John    Jack
Jack    Rita
Rita    John
John    Peter
John    Owen
John    Eric
John    Louis

我想写一个查询,我删除了第5个元素之后的所有ID&#39。换句话说,我希望每个ID最多5 friends保留。

我尝试使用group by或类似的东西,但我现在还不知道如何进行删除。

结果必须是:

  ID    Friend
John    Rita
John    Jack
Jack    Rita
Rita    John
John    Peter
John    Owen
John    Eric

1 个答案:

答案 0 :(得分:0)

简短的回答,没有。 The reason is that RDBMS's do not do not guarantee the order of entries

如果您需要某些要删除的行,那么您需要知道订单。我建议首先添加一个自动递增的主键列。从那以后,您至少可以确定条目的顺序。例如:

ALTER TABLE table_name ADD column_name INT AUTO_INCREMENT PRIMARY KEY;

注意:这只会保证 以后 条目的顺序, 以前插入的条目。