mysql/order by

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

  • mysql/order by

    Hallo,

    ich möchte Datensätze einer Tabelle nach Laufzeiten sortieren.
    Kann mir jemand sagen wie ich das mit order by in mysql machen kann?

    Die Laufzeit ist kein bestimmtes Datum, sondern liegt in Textform vor:
    - bis Ende Juli
    - bis Ende August
    - bis Ende September
    - bis Ende Oktober

    Es wäre toll, wenn mir jemand helfen könnte,

    Grüsse

    Kathrina

  • #2
    Na du hast dir doch sicher schon selbst einige Gedanken gemacht. Was kam dabei raus, wie sehen deine Ansätze aus?

    Kommentar


    • #3
      Re: mysql/order by

      Original geschrieben von kathrina
      Die Laufzeit ist kein bestimmtes Datum, sondern liegt in Textform vor:
      *autsch*

      meinst du nicht, es wäre erstmal sinnvoll, diese "daten" in ein sinnvolles format zu wandeln?
      Kissolino.com

      Kommentar


      • #4
        würd ich auch vorschlagen.
        Wenn du nach datum sortieren willst, dann solltest du auch ein Datumsformat verwenden.
        Ansonsten sortierst entweder nach Zeichenwertigkeit (April ganz oben) und nicht nach Monat.

        Kommentar


        • #5
          hoi,

          also ich würde ja auch nach dem datum format in der db dann sortieren lassen !

          eine andere lösung wäre auch wenn man eine neue tabelle mit ids und monaten anlegen würde ->
          1 = Januar
          2 = Februar
          3 = März

          usw. .....

          dann könnte man nach den ids sortieren lassen

          Kommentar


          • #6
            Evtl gehts auch mit REPLACE
            (allerdings nur ein Ansatz)

            PHP-Code:
            SELECT ..
            ORDER BY  .. REPLACE(REPLACE(REPLACE(REPLACE(laufzeit"bis Ende ",""),"Januar",1),"Februar",2),"März",3... ASC 
            Allerdings müsste man dann die zeichenketten - spalte praktisch rekursiv durch 12 (Monate) Replace jagen was sicher ein enormer Performance Verlust wäre

            Erst richtig Lustig wirds wenn dann nuch "bis Ende" "bis Anfang" "bis Mitte" usw. kommt

            nur son Gedanke
            chansel0049
            ----------------------------------------------------
            if you've reached the bottomline - dig further!
            Übersetzer gesucht? http://www.babelport.com

            Kommentar


            • #7
              eine andere lösung wäre auch wenn man eine neue tabelle mit ids und monaten anlegen würde ->
              1 = Januar
              2 = Februar
              3 = März
              Keine sehr gute!
              Die ids und zusatztabelle kannste dir sparen, wenn du - wie gesagt - n vernünftiges datum drin hast.

              Die Replaces wären ne übergangslösung, wenn man nichts an den daten ändern kann. sollte auch nicht zu performancelastig sein-

              Kommentar

              Lädt...
              X