"falsch" sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "falsch" sortieren

    Hi,

    frage mich grade ob ich das Problem hier auch in mySQL lösen kann.

    PHP-Code:
    $sql "SELECT * FROM blu ORDER BY kategorie"
    kategorie enthält eine Zahl zwischen 1 und 3.

    Somit wird ausgeben:
    1
    1
    1
    2
    2
    3
    3

    Ich möchte aber jetzt das

    1
    1
    1
    3
    3
    2
    2

    ausgegeben wird....

    Hab das schonmal gemacht, allerdings mit PHP - wenn ich das in einer Query lösen könnte wärs natürlich sinniger.

    Any ideas?

  • #2
    ORDER BY
    kategorie != 1,
    kategorie != 3,
    kategorie != 2


    oder

    ORDER BY
    kategorie = 2,
    kategorie


    oder

    ORDER BY
    kategorie % 2 = 0,
    kategorie

    ?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Sehr cool, danke.

      ich versuchs mal wieder zu geben, korrigiert mich, wenn ich falsch liege

      ORDER BY
      kategorie != 1,
      kategorie != 3,
      kategorie != 2

      Es wird zuert alles sortiert, was nicht kategorie 1 ist, (2,3 ist oben) danach was nicht 3 (1,2 ist oben, aber nach 2,3?) ist und danach was nicht 2 ist. ???


      ORDER BY
      kategorie = 2,
      kategorie

      es wird erst nur die kategorie 2 sortiert und danach 1, 2, 3 ? Versteh ich nicht ganz...


      ORDER BY
      kategorie % 2 = 0,
      kategorie

      alles was modulo 2 = 0 hat wird nach oben sortiert.

      Kommentar


      • #4
        Ich korrigiere

        ORDER BY
        kategorie != 1,
        kategorie != 3,
        kategorie != 2

        Sortierung kategorie != 1 ist für kategorie 1 0 ( 1 != 1 ist falsch => 0), für kategorie 2 ist es 1 (2 != 1 ist wahr => 1)
        Da standardmäßig aufsteigend sortiert wird, hast du zuerst kategorie 1, dann kategorie 3, dann kategorie 2 und dann alle anderen, die evtl. noch vorhanden sind




        ORDER BY
        kategorie = 2,
        kategorie
        Bei Kategorien, die verschieden von 2 sind, wird das erste Sortierkriterium zu 0 ausgewertet, entsprechende Datensätze werden daher vor kategorie 2 ausgegeben
        Innerhalb dieser Teilmengen wird dann nach kategorie aufsteigend sortiert


        ORDER BY
        kategorie % 2 = 0,
        kategorie
        Bei Kategorien, die nicht restlos durch 2 teilbar sind (1, 3, 5, ...) wird das erste Sortierkriterium zu 0 ausgewertet, denrest kennst du
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Ahh, so im groben hab ichs - werd mir das gleich nochmal in ruhe zu gemüte führen.....

          Dickes Danke

          Kommentar

          Lädt...
          X