• Hey,

    Mal sehen ob ich das jetzt so wiedergeben kann.

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

    Code
    A,7,7
    A,7,8
    A,8,8
    B,9,9
    B,9,10
    B,9,11
    B,10,10
    B,11,11

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

    Code
    A kleinste
    A komplett
    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
    SELECT *
    FROM table_name 
    WHERE col_1 = 'A'
    ORDER BY (col_3 - col_2) DESC LIMIT 1

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

    Gruß Talwin

    Einmal editiert, zuletzt von Talwin (8. April 2016 um 13:20)

  • 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 :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!