繁体   English   中英

MySQL删除表的第5个元素

[英]Mysql delete 5th element of a table

我有一张桌子:

 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

简短的回答,不。 原因是RDBMS不保证输入顺序

如果需要确定要删除的行,则需要知道顺序。 我建议先添加一个自动递增的主键列。 由此,您将至少确定条目的顺序。 例如:

ALTER TABLE table_name ADD column_name INT AUTO_INCREMENT PRIMARY KEY;

注意:这将仅保证将来输入的顺序, 而不保证先前插入的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM