Pit: mysql: Doppelte Einträge löschen

Hallo,

ich habe in einer tabelle doppelte Einträge (Spalte Nummer), von denen ich jeweil den Eintrag löschen möchte, der in einer anderen Spalte (Spalte Preis) den niedrigeren Wert hat.

Dopplete Einträge heraussuchen klappt schonmal prima, aber wie lösche den niedrigerpreisigen Eintrag heraus?

Pit

  1. Hallo Pit,

    So was habe ich noch nicht mit reinem SQL gemacht, aber du könntest mal dies probiereN.

    Schreibe eine Query, die dir die IDs mit doppelten Preisen liefert (GROUP BY id HAVING COUNT(*)>1). Im Delete verwendest du die für ein ID IN (...)

    Dazu kommt ein Subselect der zur ID den höchsten Preis liefert (SELECT MAX(preis) ...). In der WHERE Klausel des DELETE verwendest du das für preis < (SELECT MAX ...).

    Mach das erstmal mit SELECT statt DELETE 😀, das ist ungetestet.

    Rolf

    --
    sumpsi - posui - clusi
    1. Hallo Rolf,

      danke für die Anregung. leider konnte ich es noch nicht ausprobieren, weil sich das Problem quasi von selber gelöst hat und mir zudem die zeit ein bischen gefehlt hat.

      Aber ich habe mir die Antwort gespeichert und werde es "dieser Tage" mal versuchen, umzusetzen. Ich hoffe, ich darf nachfragen, falls es nicht so gut klappt. 😀

      Gruß, Pit

      1. Hallo Pit,

        Ich hoffe, ich darf nachfragen,

        #Nachfragen❓

        Pfui❗️ Wer tut denn sowas⁉️ Schäm Dich‼️ 😉

        Rolf

        --
        sumpsi - posui - clusi