ORDER BY und CASE

  • MySQL

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ORDER BY und CASE

    Ich habe eine Datenbank mit einer Tabelle, die (vereinfacht) in etwa so aussieht:
    (Es sind viel viel mehr Zeilen und auch noch mehrere Spalten, aber das sind die Spalten, auf die es ankommt. Einträge sind nur Beispiele)




    Diese Tabelle soll sortiert werden, sodass sie wie folgt aussieht:



    Also: Zunächst soll nach serie alphabetisch sortiert werden. Anschließend nach typ alphabetisch und anschließend - und hier kommt mein Problem - soll unterschieden werden.
    Die Zeilen, wo typ = "vid" ist, sollen alphabetisch nach format alphabetisch sortiert werden, die Zeilen wo typ = "aud" ist, sollen nach der Anzahl sortiert werden, wie oft ein Format vorkommt und das absteigend.

    Ich hoffe, es ist klar geworden, was ich vorhabe.

    Ich bekomme es jedenfalls einfach nicht hin.
    Ich habe es schon mit CASE versucht, aber es kommt nichts dabei heraus:

    SQL-Abfrage

    1. SELECT serie, format, typ FROM tabelle GROUP BY serie, format ORDER BY serie, typ, CASE WHEN typ = 'aud' THEN COUNT(format) ELSE format END

    Vielleicht kann mir hier ja jemand Schlaues helfen.
    Das wäre sehr lieb. :)