[PHP] Sortierung mit Mysql

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Blackb!rd, 10. Mai 2011 .

Schlagworte:
  1. 10. Mai 2011
    Sortierung mit Mysql

    Hallo Zusammen,

    ich habe bei einem aktuellen Projekt das Problem, dass folgende Datensätze nicht korrekt sortiert werden:

    1.1.3
    1.10.5
    1.2.5
    1.3.4

    -> Wie kann ich in Mysql die Daten sinngemäß korrekt sortieren lassen? Oder ist das nicht möglich?


    Gruß Blackbird89
     
  2. 10. Mai 2011
    AW: Sortierung mit Mysql

    wenn möglich vielleicht so betexten:

    1.01.3
    1.02.5
    1.03.4
    1.10.5
     
  3. 10. Mai 2011
    AW: Sortierung mit Mysql

    SELECT * FROM TABELLE ORDER BY spalte ASC

    müsste eig. klappen
     
  4. 10. Mai 2011
    AW: Sortierung mit Mysql

    Ist nicht möglich leider...


    Ich glaub du hast den Knackpunkt übersehen
    Mysql sortiert mit SORT bei texten(das ist ja ein text) die zahlen einzeln und nit als Gesamtes. Das heißt 1.10 kommt vor 1.9 weil die zweite 1 im ersten Text kleiner is als die 9 im zweiten. Ich bin der der Suche nach einer Funktion die soetwas verhindert und es so sortiert wie es der normale Menschenverstand annimmt: 1.9 , 1.10 .....


    Gruß Blackbird89
     
  5. 10. Mai 2011
    AW: Sortierung mit Mysql

    Das nennt sich soweit ich weiß: "natural sort order"

    MySQL Lists: mysql: Need help with a natural sort order for version numbers and release code names
     
  6. 10. Mai 2011
    AW: Sortierung mit Mysql

    evtl. geht sowas wie
    Code:
    order by cast(col as float)
    oder
    Code:
    order by replace(col,'.','')+0
     
  7. 10. Mai 2011
    AW: Sortierung mit Mysql

    wenn dus mit PHP machst würde sonst auch noch selber sortieren gehen, wären paar zeilen PHP und wenns nur bubblesort ist^^

    edit: ohhh ok das über mir funktioniert auch
     
  8. 10. Mai 2011
    AW: Sortierung mit Mysql

    tolle sache, man lernt nie aus, danke.
    PHP:
    $qry  mysql_query ( 'SELECT * FROM tabelle ORDER BY REPLACE(value, ".", "") + 0 ASC' );
    while (
    $row  mysql_fetch_array ( $qry )){
        echo 
    '<p>' . $row [ 'value' ]. '</p>' ;
    }
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.