Daniel_T: MySQL - order by

Hallo!

Ich habe eine Eingabe wo die Uhrzeit in Stunden eingegeben wird.

Anzeigen soll ich nachher die Einträge, der Uhrzeit nach sortiert, aber wenn 0 eingegeben wird, soll es am Schluss sein.

Ich geben das ein:

  • 14, beim nächsten
  • 12
  • 7
  • 0
  • 12
  • 0
  • 11

Die Ausgabe sollte aber so aussehen:
7, 11, 12, 12, 14, 0, 0

Mit einem normalen order by auf diese Spalte schauts so aus:
0,0,1,11,12,12,14

Ist das möglich?

Danke!
lg Daniel

  1. Nein, so ist das nicht möglich..

    Entweder 0,0,7,11,12,12,14 oder 14,12,12,11,7,0,0

  2. Hi,

    Ist das möglich?

    nach Adromirs Posting zu urteilen nein. hab auf die schnelle im MySQL handbuch nichts gefunden. evt. hilft es dir wenn du es fakest, als

    SELECT [spalten] FROM [tabelle] WHERE stunde<>0 ORDER BY stunde
    und dann zusätzlich nochmal ein
    SELECT [spalten] FROM [tabelle] WHERE stunde=0

    MfG

  3. Hi!

    Die Ausgabe sollte aber so aussehen:
    7, 11, 12, 12, 14, 0, 0

    Mit einem normalen order by auf diese Spalte schauts so aus:
    0,0,1,11,12,12,14

    Ist das möglich?

    Mach doch einfach 2 Abfragen, einmal mit "... WHERE spalte > '0' ORDER BY spalte" und einmal "... WHERE spalte = '0'", ggfs. in einer Transaktion.

    Grüße
    Andreas

    --
    SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
  4. hi,

    Anzeigen soll ich nachher die Einträge, der Uhrzeit nach sortiert, aber wenn 0 eingegeben wird, soll es am Schluss sein.

    SELECT *, IF(stunde = 0, 24, stunde) AS ordnungskriterium FROM tabelle ORDER BY ordnungskriterium

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      hi!

      SELECT *, IF(stunde = 0, 24, stunde) AS ordnungskriterium FROM tabelle ORDER BY ordnungskriterium

      Das funktioniert! Danke!

      gruß,
      wahsaga

      lg Daniel