2016-12-04 91 views
0

的第5个元素我有一个表:mysql的删除表

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

我想编写一个查询,我的第5个元素后删除所有ID的。换句话说,我想保留每个ID最多5个friends

我已经尝试过group by或类似的东西,但我现在不完全如何删除。

的结果必然是:

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

回答

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; 

注:这只会保证未来项,先前插入项的顺序。

+0

好的,自动增量被添加,现在可以吗? – Bigjo