ORDER BY - Problem

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

  • ORDER BY - Problem

    hiho,

    mein SELECT endet mit:

    PHP-Code:
    ORDER BY houses.names ASC 
    Bei durchnummerierten Namen wird die Reihenfolge unlogisch:

    haus 10
    haus 11
    haus 8
    haus 9

    Ich will aber natürlich:

    haus 8
    haus 9
    haus 10
    haus 11

    Auf den Datenbankinhalt hab ich keinen Einfluss, es sind User-Eingaben.

    Jemand eine Ahnung, wie ich das beheben kann?

    1000 Dank, Marc

  • #2
    Mit einem numerischen Spaltentyp würde es stimmen.

    Kommentar


    • #3
      ich habs jetzt auf 'text', da 'haus 10' in einem Feld steht. Ich kann auch 'haus' und '10' nicht trennen.

      Hast du da einen bestimmten Typ im Kopf ? 'varchar' vielleicht ?

      Kommentar


      • #4
        ist ja auch nicht numerisch, ich dachte da eher an eine regexp, die das ganze löst...

        Kommentar


        • #5
          ORDER BY - Problem, regexp

          hiho,

          (hatte das schon im SQL Forum, aber regexp passt hier wahrscheinlich besser)

          mein SELECT endet mit:

          PHP-Code:
          ORDER BY houses.names ASC 
          Bei durchnummerierten Namen wird die Reihenfolge unlogisch:

          haus 10
          haus 11
          haus 8
          haus 9

          Ich will aber natürlich:

          haus 8
          haus 9
          haus 10
          haus 11

          Auf den Datenbankinhalt hab ich keinen Einfluss, es sind User-Eingaben.

          Jemand eine Ahnung, wie ich das beheben kann? Gibt es eine regexp, die das löst ?

          1000 Dank, Marc

          Kommentar


          • #6
            die reihenfolge ist ganz logisch - es ist ein string, also wird lexikografisch verglichen. um eine andere reihenfolge zu erzielen (sodass z.b. 9<10 gilt), musst du nach einem INT feld sortieren.

            Kommentar


            • #7
              Re: ORDER BY - Problem, regexp

              Original geschrieben von _mil28
              (hatte das schon im SQL Forum, aber regexp passt hier wahrscheinlich besser)
              1. Unterlasse Doppelpostings *zusammenführ*
              2. Nein, das passt hier ganz gut rein.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ich kann auch 'haus' und '10' nicht trennen.
                Und wieso nicht?

                Wenn´s die Datenbankstruktur nicht hergibt nutz sowas wie SUBSTRING_INDEX ...
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar

                Lädt...
                X