Order by

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

  • Order by

    Hallo @ all,
    gibt es bei MySQL Abfragen auch die Möglichkeit nach natürlicher Reihenfolge zu sortieren wie bei Arrays mit natsort()?
    Wenn ich eine Abfrage mache:
    PHP-Code:
    $sql "select * from $tabelle order by test asc limit 0,5";
    $result mysql_query($sql$db); 
    dann wird das so sortiert:
    1
    10
    11
    2
    5
    ich bräcuhte aber die natürliche Reihenfolge. Geht das direkt mit einer SQL Abfrage oder muss ich da den Umweg über mysql_fetch_array () gehen und den dann sortieren?
    Mein Homepage: Click

  • #2
    das feld muss vom typ int o.ä. sein. bei dir scheint's gerade irgendwas anderes zu sein - text/varchar/etc. dann klappt's auch mit dem sortieren.

    Kommentar


    • #3
      Thx 4 help.
      Mein Homepage: Click

      Kommentar


      • #4
        Gibt es eine Möglichkeit, das auch für ein Feld vom Typ "text" anzuwenden? (predigt mir bitte nichts von wie schwachsinnig es ist, ein float-wert in ein text feld zu speichern, das weiß ich selber, aber ich kann/darf es nicht ändern )
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          willst du sagen, dass du einen Textfeld hast, der Zahlen enthält, und du nun sortieren willst? oder ist der Inhalt alphanummerisch?

          Kommentar


          • #6
            Ich habe eine Feld vom Typ "Text". Darin sind Zahlen enthalten: 0.00, 7.00, 16.00.
            Diese möchte ich nun in der Reihenfolge sortiert haben. Jedoch sortiert MySQL es in der Reihenfolge 0.00, 16.00, 7.00.
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              ... order by cast(deinFeld as decimal)

              Kommentar


              • #8
                http://dev.mysql.com/doc/refman/5.1/...functions.html
                PHP-Code:
                ORDER BY CAST(test AS DECIMAL
                Bei nicht numerischen Werten gibt das CAST allerdings NULL zurück. Mit IFNULL() kannst du dir evtl. noch ein "echtes" natsort zusammenbauen.

                €: Ich werd langsam auf meine alten Tage...

                Kommentar


                • #9
                  wieder was gelernt
                  Sunshine CMS
                  BannerAdManagement
                  Borlabs - because we make IT easier
                  Formulargenerator [color=red]Neu![/color]
                  Herkunftsstatistik [color=red]Neu![/color]

                  Kommentar

                  Lädt...
                  X