[MySQL 4.1] sortier bug? (order by - nummerisch)

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

  • [MySQL 4.1] sortier bug? (order by - nummerisch)

    hallo!

    hat einer von euch nen plan warum folgende abfrage nicht richtig nummerisch sortiert (mysql 4.1.1)? es wird ein timestamp-feld(INT-Format) in stunden umgewandelt und sortiert.

    select FROM_UNIXTIME(times,'%k') as "Stunde" FROM tabelle GROUP BY Stunde ORDER BY Stunde

    ergebnis:
    Stunde
    0
    1
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    2
    20
    21
    22
    23
    3
    4
    5
    6
    7
    8
    9

    mit FROM_UNIXTIME(times,'%H') funktionierts richtig (00,01,02...), ergibt aber nicht das format, was ich brauche.
    ich bräuchte wahrscheinlich eine conv-funkion, irgendwie so: ???
    select FROM_UNIXTIME(times,'%k') as "Stunde" FROM tabelle GROUP BY Stunde ORDER BY CONV(Stunde,INTGER)

    hat jemand ne idee?

    gruß
    norman

  • #2
    FROM_UNIXTIME(times,'%H')

    steht alles bei mysql.com
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hi,

      hab ich bereits geschrieben: FROM_UNIXTIME(times,'%H') funktioniert, hat aber ein ungünstiges format: 00,01,02,03...

      gibts eine möglichkeit die stunden so auszugeben (ohne hilfsspalte) : 0,1,2,3,4...

      gruß
      norman

      Kommentar


      • #4
        du kannst doch zum ausgeben dein gewünschtes format nehmen, zum ordnen nimmste halt %H ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          moin!

          aber wie kriege ich die formatierung hin?

          00 -> 0
          01 -> 1
          ...
          23 -> 23

          norman

          Kommentar


          • #6
            haste es denn mal ausprobiert?
            SELECT %k order by %H?
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              wunderbar!

              mit :

              FROM_UNIXTIME(times,'%k') as "Stunde" FROM tabelle GROUP BY Stunde ORDER BY UNIXTIME(times,'%H')

              funktionierts!

              Kommentar


              • #8
                Selbst denken ist erlaubt
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar

                Lädt...
                X