Mailinglisten-Archive |
Mariano Glas schrieb am Montag, den 6. September 1999:
> geht eigentlich....
>
> wenn ein feld z.B. Ser_Nummber mehr als einmal den gleichen eintrag
> enthaellt die restlichen eintraege in der DB zu loeschen ??
In einer einzigen SQL-Anweisung geht es mit MySQL wahrscheinlich nicht.
(Vorallem, weil man in MySQL bei DELETE keine Joins nutzen kann.)
Deshalb in zwei Schritten:
- Wähle all die Ser_Number aus, die Du behalten willst.
- Lösche alle anderen Datensätze.
Beispiel:
* SELECT MAX(id) FROM tabelle GROUP BY Ser_Number;
--> liefert zu jeder Ser_Number den Datensatz mit der größten id
--> das Ergebnis dieser Query speichert man jetzt auf der
Anwendungsseite (z.B. PHP), z.B. die Liste 3,7,29,31
* DELETE FROM tabelle WHERE id NOT IN (3,7,29,31);
--> Löscht alle anderen Datensätze
Ciao,
Martin
--
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ >
PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive