Schnitzelfreund: mysql datensätze löschen

Hallo liebe Forengemeinde,

folgende Tabelle (mysql) ist gegeben:

id|ref|wert
-----------
1 | ab | 14
2 | ab | 22
3 | ab | 11
4 | ab | 33
5 | bb | 22
6 | bb | 76
7 | bb | 5
8 | bb | 23

...

Ich möchte nun, dass in abhängigkeit von ref immer nur der Datensatz erhalten bleibt mit dem Kleinsten Wert in wert

konkret in diesem beispiel also

3 | ab | 11
7 | bb | 5

Wie könnte denn eine Query dafür aussehen?
Für Tips wäre ich sehr dankbar!

Viele Grüße
Schnitzelfreund

  1. Hi!

    Ich möchte nun, dass in abhängigkeit von ref immer nur der Datensatz erhalten bleibt mit dem Kleinsten Wert in wert

    konkret in diesem beispiel also

    3 | ab | 11
    7 | bb | 5

    Das verstehe ich nicht, denn das sind Zwei Datensätze.

    Suchst Du min()?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hi,

      3 | ab | 11
      7 | bb | 5

      Das verstehe ich nicht, denn das sind Zwei Datensätze.

      Die Forderung

      in abhängigkeit von ref

      aus der Aufgabenstellung darfst du als implizites verbales GROUP BY ref betrachten ;-)

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
      1. Hi

        Die Forderung

        in abhängigkeit von ref
        aus der Aufgabenstellung darfst du als implizites verbales GROUP BY ref betrachten ;-)

        Exakt, sehr gut formuliert. Ich werde mein Glück mal versuchen!

        Vielen Dank für die Hilfe

        Schnitzelfreund

      2. Hi!

        3 | ab | 11
        7 | bb | 5

        Das verstehe ich nicht, denn das sind Zwei Datensätze.

        Die Forderung

        in abhängigkeit von ref
        aus der Aufgabenstellung darfst du als implizites verbales GROUP BY ref betrachten ;-)

        Ja, nee: is klar! Wer lesen kann, ist klar im Vorteil!
        Mein Fehler!

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. Hi,

    Ich möchte nun, dass in abhängigkeit von ref immer nur der Datensatz erhalten bleibt mit dem Kleinsten Wert in wert

    konkret in diesem beispiel also

    3 | ab | 11
    7 | bb | 5

    Wie könnte denn eine Query dafür aussehen?

    Analog zu http://dev.mysql.com/doc/refman/5.1/en/delete.html#c5206
    In der WHERE-Bedingung verlangst zum einen Gleichheit des Inhaltes von ref aus "beiden" Tabellen, und zum anderen dass der Inhalt von Wert aus der "ersten" Tabelle grösser ist als der aus der "zweiten".

    Dass du das erst mal mit einem Backup der Tabelle probierst, versteht sich hoffentlich von selber :-)

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.