phpbar.de logo

Mailinglisten-Archive

Re: Doppelte raus..
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Doppelte raus..



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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive