Chris: Suche bestimmte Sortierungsfunktion

Nabend,

ich habe in meiner MySQL-Datenbank eine Spalte mit verschiedenen Zahlenwerten, zb:

15
151
152
16
17

Und ich möchte diese nun sortieren - und zwar nicht, dass das Ergebnis so aussieht: 15, 16, 17, 151, 152

Sondern dass es wie oben sortiert wird.

Wie kann man sowas bewerkstelligen?

(Falls es keine SQL-Funktion dafür gibt, könnte ich die Werte mittels PHP auch in ein Array speichern und dieses dann über PHP-Funktionen sortieren. Falls also jemand dafür einen Hinweis hat, wäre das auch klasse!)

Gruß
Chris

  1. Hallo

    ich habe in meiner MySQL-Datenbank eine Spalte mit verschiedenen Zahlenwerten, zb:
    15
    151
    152
    16
    17

    Und ich möchte diese nun sortieren - und zwar nicht, dass das Ergebnis so aussieht: 15, 16, 17, 151, 152

    Sondern dass es wie oben sortiert wird.

    Du möchtest also das Ergebnis haben, das Du beim Sortieren als Zeichenketten
    bekommst. Sorge also dafür, dass ORDER BY Zeichenketten und keine Zahlen bekommt:
    MySQL-Handbuch, CAST Functions and Operators.

    Freundliche Grüße

    Vinzenz

  2. Hello,

    hehe, sehr gut, vielen Leuten passiert das ganze eher anders herum.
    Du müsstest die Spalte für die Dauer des Statements in eine Textspalte verwandeln, auch wenn das die Abfrage verlangsamen wird (es liegt kein Index für die Sortierung vor).
    SELECT spalte1, spalte2, ..., CAST(besondere_spalte AS CHAR) AS sortierspalte
    FROM table
    ORDER BY sortierspalte

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Inter Arma Enim Silent Leges  --  Cicero