auf 0,5 Schritte runden

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

  • auf 0,5 Schritte runden

    Hallo!

    Ich lese Werte aus, die zwischen 0 und 5 liegen können, müsste diese aber beim auslesen auf 0,5 runden.

    Ich habe im Prinzip 2 Tabellen, in einer stehen Einzelwertungen der User für einen Gegenstand drin,
    in einer anderen Tabelle der Bewertungsdurchschnitt.
    Ich möchte zunächst nach dem Bewertungsdurchschnitt, und dann nach der Anzahl der Bewertungen sortieren.
    Alles keine Problem, nur wenn ich den Bewertungsdurschnitt nicht auf- bzw. abrunde auf Halbe, greift das zweite Sortierungskriterium nicht sinnvoll.

    Habt ihr da eine Idee? In der mysql-Referenz hab ich nichts passendes gefunden.
    Suche immer Linkpartner für meine Cocktailseite ;-)

  • #2
    das hat doch nix mit mysql zu tun

    wenn du den wert verdoppelst, ihn dann rundest, und dann wieder halbierst, ... ?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Original geschrieben von derHund
      das hat doch nix mit mysql zu tun

      wenn du den wert verdoppelst, ihn dann rundest, und dann wieder halbierst, ... ?
      ehrlich gesagt verstehe ich das statement nicht wirklich;-)

      Ich kann doch auch mit round() gerundete Werte aus der Datenbank auslesen? Und ich möchte nicht auf ganzzahlige Werte aufrunden, sondern eben auf die nächste halbe Zahl.

      2,3 -> 2,5 aufrunden und nicht auf 2,0 abrunden.
      Suche immer Linkpartner für meine Cocktailseite ;-)

      Kommentar


      • #4
        Hund meint, dass man dazu kein SQL-Fuchs sein muß, das ist reine Mathematik.

        Verdoppeln (2,3 -> 4,6), runden (4,6 -> 5), halbieren (5 -> 2,5)!

        Kommentar


        • #5
          Original geschrieben von onemorenerd
          Hund meint, dass man dazu kein SQL-Fuchs sein muß, das ist reine Mathematik.

          Verdoppeln (2,3 -> 4,6), runden (4,6 -> 5), halbieren (5 -> 2,5)!
          Oh...ach so...hihi...dieser dezente hinweis ist mir glatt entgangen....und auf diese idee wär ich natürlich eh nicht gekommen, viel zu einfach

          Dankeschön!!
          Suche immer Linkpartner für meine Cocktailseite ;-)

          Kommentar


          • #6
            und kannst du mir bitte mal folgendes statement erklären:

            nur wenn ich den Bewertungsdurschnitt nicht auf- bzw. abrunde auf Halbe, greift das zweite Sortierungskriterium nicht sinnvoll.

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              und kannst du mir bitte mal folgendes statement erklären:
              Gerne, ist ohne weitere Veranschaulichung sicher nicht ganz einsichtig.

              In meiner Datenbank stehen z.B. folgende Werte

              Bewertungsdurschschnitt/Anzahl Bewertungen

              Havana Sour: 5/1
              Mojto: 4,67/7

              wenn ich nicht auf halbe aufrunde, bzw. abrunde, ist der Havana Sour an erster Stelle gereiht. Wenn ich auf halbe aufrunde, ist der Mojito vorne, weil er mehr Bewertungen hat. Ich finde eine 4,67 wertvoller, als 5, wenn die 4,67 aus 7 Bewertungen stammt, da 7 Meinungen wertvoller sind als eine Einzelmeinung.

              Ich könnte natürlich solche Rezept ausschließen, die noch nicht eine Mindestanzahl an Bewertungen haben, aber das möchte ich nicht, weil die Seite noch neu ist, und daher noch nicht soooviele Wertungen vorhanden sind, außer bei den ganz bekannten Cocktails.



              Und ach ja..das mysql-statement funzt auch schon:

              "SELECT a.cocktail_id,a.cname,a.ckat_id,round(a.rating_g*2)/2 as rating_g, count(a.rating_g) as anzahl,c.ckat from cocktail a, rating b, ckat c
              WHERE a.cocktail_id = b.cocktail_id
              AND a.ckat_id =c.ckat_id
              GROUP BY a.cocktail_id
              ORDER BY rating_g desc,anzahl desc,a.cname";
              Suche immer Linkpartner für meine Cocktailseite ;-)

              Kommentar


              • #8
                naja, wenns so gewünscht ist.

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  naja, wenns so gewünscht ist.
                  Klingt so, als ob du nicht ganz überzeugt bist;-)

                  Muss dazu sagen, dass die Bewertung mittels Sternen ausgegeben wird, und die sind auch nur in 0,5 Schritten verfügbar;-) Es gibt also nur gute Gründe, dies so zu machen
                  Suche immer Linkpartner für meine Cocktailseite ;-)

                  Kommentar


                  • #10
                    viel wichtiger als eine ideallösung ist natürlich immer, dass man selber nachdenkt, um ein problem zu lösen. und genau das scheinst du meiner meinung nach getan zu haben.

                    die einfachen mathematischen dinge entfallen mir auch andauernd, weil ich teilweise zu kompliziert denke. da kann ich dich voll verstehen. ;-)
                    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


                    • #11
                      Hey danke, ihr habt uns gerade auf den Sprung geholfen.
                      Hier noch eine Version mit variablen Interval:

                      PHP-Code:
                      $interval 0.25// Moeglich: 0.1, 0.2, 0.25, 0.5, 1

                      $wert 2.63;

                      $faktor 10/($interval*10);

                      $ergebnis round($wert*$faktor)/$faktor;

                      echo 
                      $ergebnis

                      Kommentar


                      • #12
                        10/($interval*10);
                        Höhere Mathematik?

                        Kommentar

                        Lädt...
                        X