Mailinglisten-Archive |
Hallo Jan Jan Kunzmann wrote: > > Eine Tabelle TABLE hat drei Cols: > > - Bestellungen_ID > > - BestellStati_Position > > - Datum > > Nun habe ich einige Felder, welche Bestellungen_ID und > > BestellStati_Position gleich haben, jedoch das Datum sich variert. > > Ich möchte daraus alle Datensätze rauslesen, welche > > Bestellungen_ID und BestellStati_Position gleich haben. Davon > > möchte ich die ältesten behalten und alle neueren löschen. > Hmmm... das sollte es eigentlich tun, natürlich ohne Garantie (also > Backup machen *ggg*) und den CREATE TABLE Syntax ausfüllen: > CREATE TABLE TmpTable ( > Bestellung_ID ....., > BestellStati_Position ...., > Datum ...., > PRIMARY KEY (Bestellung_ID, BestellStati_Position) > ); > REPLACE INTO TmpTable (Bestellung_ID, BestellStati_Position, Datum) > SELECT Bestellung_ID, BestellStati_Position, Datum FROM OldTable > ORDER BY Datum DESC; Vielen Dank für die schnelle und eigentlich ganz einfache Lösung :) Des Kolumbus' Ei ist das. Problematisch ist's jetzt aber, dass die Datensätze nicht wirklich genau gleich sind, denn das Datum ändert sich bei jedem Eintrag. Das heisst, Tmptable und OldTable müssten meines Erachtens schlussendlich dann äquivalent sein.. Wie kann ich bestimmen, dass der Replace nur die ersten beiden Spalten berücksichtigen soll und das Datum dann nur noch zum sortieren benutzen soll? Vielen Dank im Voraus! Johannes --- *** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive