1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

erst sortieren, dann gruppieren

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von alexfrenzel92, 7 Oktober 2016.

  1. alexfrenzel92

    alexfrenzel92 Datenbank-Guru

    Mir ist klar, dass das kein kostenloser Code-Schreibe-Dienst hier ist aber ich blicke gerade nicht wirklich durch.

    Wie kann ich eine Datenbank auf die Werte gruppieren, in denen ein anderer Wert in dieser Spalte für das gruppierte Objekt das Maximum ist?

    A | B | C
    f | 3 | 1
    f | 2 | 4
    g | 1 | 5

    Ich möchte den Wert aus Spalte C der jeweils auf den Wert in Spalte A gruppiert wird.
    Der Logik nach müsste man zuerst sortieren und dann gruppieren.

    Das Ergebnis wäre
    A | B | C
    f | 2 | 4
    g | 1 | 5

    Zeile 3, weil sie der einzige Wert mit "g" ist und Spalte 2, weil sie die Spalte ist, die den höchsten Wert in C aller Zeilen enthält, die in Spalte A f ist.

    mfg
    Alex
     
  2. Das geht ganz einfach über Window-Funktionen, die MySQL nicht kann.
     
  3. ukulele

    ukulele Datenbank-Guru

    Also wenn ich dich richtig verstehe suchst du:
    Code:
    SELECT t1.A,t2.B,t1.C FROM ( SELECT A,max(C) AS C FROM tabelle GROUP BY A ) t1 LEFT JOIN tabelle t2 ON t1.A = t2.A AND t1.C = t2.C

    Allerdings wird dann auch aus
    A | B | C
    f | 3 | 1
    f | 2 | 4
    f | 3 | 4
    g | 1 | 5

    Ergebnis
    A | B | C
    f | 2 | 4
    f | 3 | 4
    g | 1 | 5
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden