MySQL sortieren nach mehreren feldern

  • Sup,
    Bin mal wieder auf rock bottom gestoßen.

    Naja ich poste einfach mal was ich brauche, und wo ich scheitere.

    SQL
    SELECT * FROM table_entries ORDER BY IF(closed='1', 0, 1) DESC , start_date ASC

    Nun, die IF abfrage hätte man sich da sparen können, aber ich habe sie noch dort gelassen weil ich was getestet habe.

    Nun folgendes ergebnis gibt es momentan :

    Code
    ID | start_date          | closed
    29 | 2016-07-31 20:00:00 | 0
    27 | 2016-07-31 23:00:00 | 0
    26 | 2016-07-31 23:22:00 | 0
    24 | 2016-07-31 00:19:00 | 1
    25 | 2016-07-31 01:00:00 | 1
    28 | 2016-07-31 15:00:00 | 1


    Nun schön und gut soweit, und wo liegt das problem nun ?

    Naja es liegt halt daran das alles richtig gemacht wird, außer die werte mit "closed"=1 werden nicht absteigend sortiert.
    so ist es gewollt :

    Code
    28 | 2016-07-31 15:00:00 | 1 
    25 | 2016-07-31 01:00:00 | 1
    24 | 2016-07-31 00:19:00 | 1

    Also das ganze ergebniss sollte dann so aussehen :

    Code
    29 | 2016-07-31 20:00:00 | 0
    27 | 2016-07-31 23:00:00 | 0
    26 | 2016-07-31 23:22:00 | 0
    28 | 2016-07-31 15:00:00 | 1
    25 | 2016-07-31 01:00:00 | 1
    24 | 2016-07-31 00:19:00 | 1


    Was sollte ich ändern damit die enträge mit "closed"=1 auch absteigend nach "start_date" sortiert werden ?

    MfG

  • Dieses Thema enthält 13 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

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