2016-12-04 2 views
0

Ich habe eine Tabelle:Mysql löschen 5. Element einer Tabelle

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

Ich möchte eine Abfrage schreiben, wo ich alle ID ‚s nach dem fünften Element löschen. Mit anderen Worten möchte ich für jeden ID maximal 5 friends halten.

Ich habe es mit einer group by oder so ähnlich versucht, aber ich weiß jetzt nicht genau wie ich das löschen muss.

muss das Ergebnis sein:

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

Antwort

0

Kurze Antwort, nein. The reason is that RDBMS's do not do not guarantee the order of entries. Wenn Sie bestimmte der Zeilen sein müssen, die Sie löschen, dann müssen Sie die Reihenfolge kennen. Ich würde empfehlen, mit dem Hinzufügen einer automatisch inkrementierenden Primärschlüsselspalte zu beginnen. Damit sind Sie sich zumindest der Reihenfolge der Einträge sicher. ZB:

ALTER TABLE table_name ADD column_name INT AUTO_INCREMENT PRIMARY KEY; 

Hinweis: Dies wird die Reihenfolge der Zukunft Einträge nur garantieren, nicht zuvor eingefügte Einträge.

+0

ok, Autoinkrement wird hinzugefügt, ist es jetzt möglich? – Bigjo

Verwandte Themen