Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten nach Zahlen sortieren

Einklappen

Neue Werbung 2019

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

  • Daten nach Zahlen sortieren

    Hallo,

    ich habe in einer MySQL Tabelle viele Werte, denen Zahlen von 0 bis 10 (SMALLINT) zugeordnet sind.

    Nun möchte ich die Daten geordnet nach den Zahlenwerten ausgeben lassen.

    Code:
    	$query = "SELECT * FROM tabelle ORDER BY zahl DESC LIMIT 0, 20";
    Problem ist, dass auch Kommazahlen vorkommen. Diese werden dann leider nicht beachtet und ganz unten ausgegeben, dabei soll 9,5 direkt nach 10 kommen und nciht irgendwann später ...

    Wie kann ich es schaffen, dass die Reihenfolge richtig ist?

  • #2
    Du musst erstmal dafür sorgen, dass der Wert als Zahl und nicht als Zeichenkette verglichen wird.

    ... ORDER BY zahl + 0 ...

    Kommentar


    • #3
      Hallo,

      danke für den Tipp.
      Aber geholfen hat das leider nicht.

      Kommentar


      • #4
        zeig mal was du jetzt für ne Ausgabe bekommst
        :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

        Kommentar


        • #5
          Naja, ich habe hier - wie gesagt - Werte zwischen 0 und 10. Manche davon sind auch Kommazahlen.

          Code:
          	$query = "SELECT * FROM tabelle WHERE zahl < 11  ORDER BY zahl + 0 DESC LIMIT 0, 20";
          Nun wird alles schön ausgegeben, kein Fehler o.ä. Nur werden die Kommazahlen nicht berücksichtigt und außen vor gelassen.

          Kommentar


          • #6
            das heist du hast als Ausgabe jetzt einfach:
            Code:
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            ? wobei die Komazahlen nicht angezeigt werden?
            :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

            Kommentar


            • #7
              genau!

              Ausgegeben wird, was du geschrieben hast.

              Ich möchte aber

              Code:
              1
              1,5
              2
              2,5
              3
              3,5
              usw.
              Wobei die Kommazahlen ganz ausgelassen werden. Sie werden nicht als normalen Zahlen dargestellt o.ä, sondern garnicht mit ausgelesen,

              Kommentar


              • #8
                wenn ich bei mir smalint mache, kann ich keine "," (Koma) Zahlen eintragen, werden automatisch zu ganzzahlen gerundet..
                :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                Kommentar


                • #9
                  Oh ...

                  was sollte ich denn statt SMALLINT verwenden , damit ich Daten Zahlen zuweisen und dann danach sortieren kann?

                  Kommentar


                  • #10
                    DOUBLE aber nicht "," verwenden sondern "."

                    NICHT 3,5 sondern 3.5
                    :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                    Kommentar


                    • #11
                      Dann eben:

                      Code:
                      ... ORDER BY (REPLACE(zahl, ',', '.') + 0) ...
                      Da du aber nicht nur sortieren, sondern den Wert verarbeiten willst, musst du den entsprechenden Spaltentyp verwenden, wie der Vorredner schon sagte.

                      Kommentar

                      Lädt...
                      X