• Hey,


    Mal sehen ob ich das jetzt so wiedergeben kann.


    Ich ahbe eine Tabelle, ungefähr mit folgendem Schema:

    Code
    1. A,7,7
    2. A,7,8
    3. A,8,8
    4. B,9,9
    5. B,9,10
    6. B,9,11
    7. B,10,10
    8. B,11,11


    Nun bekomme ich eine Liste, in der kommen A und B belibig oft vor, aber in verschiedenen Arten:

    Code
    1. A kleinste
    2. A komplett
    3. B komplett


    ...


    Was will ich nun? Ich muss bei dem Punkt "A komplett" nun die Zeile A,7,8 ermitteln und bei "B komplett" B,9,11
    Es geht also darum die Zeile mit der größten Differenz zwischen Spalte 2 und Spalte 3 zu ermitteln (in der Praxis gibt es deutlich mehr Zeilen, die allerdings durch weitere Kriterien ausgeschlossen werden)...
    "A kleinste", soll in dem Fall dann "A,7,7" zurückliefern...


    Entweder stehe ich nur völlig auf dem Schlau, oder es ist nciht soo einfach möglich...
    Mir jedenfalls fällt keine Google Suchanfrage mehr ein und mein SQL, habe ich die letzten 4h versucht entsprechend zu nutzen... 8o8o


    Vielelcutn aknn mir ja wer weiterhelfen ^^


    Beste Grüße
    Kanu

  • Hi,


    etwa so?


    für A komplett

    SQL
    1. SELECT *
    2. FROM table_name
    3. WHERE col_1 = 'A'
    4. ORDER BY (col_3 - col_2) DESC LIMIT 1


    Für A kleinste einfach aus dem DESC ein ASC machen.


    Gruß Talwin

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Talwin ()

  • Kann es gerade nicht testen, aber das klingt so simpel und so brilliant xD


    Hätte man (sofern es funzt) auch selbst drauf kommen können :D


    Danke erstmal :)