MySQL: Float Summe

  • Ich arbeite gerade mit dem Float Datentyp, der ja für Gleitkommazahlen verwendet wird.
    Nun steht in der Datenbank der Wert 12,7 (dieser wird mit PMA auch so ausgegeben).
    Wenn ich jedoch den Datensatz auslese, gibt er mir 12.6999998092651 zurück. Dies passiert allerdings bei einer Aggregatfunktion über GROUP BY.
    Muss man also bei Summen immer mit ROUND() arbeiten?

    Zum Schluss poste ich mal die Query

    SQL
    SELECT v.`kategorie_id`, SUM(v.`kosten`) as veranstaltung_cost, SUM(bbv.`fahrtkosten`) as teilnehmer_travel_cost 
    FROM `veranstaltung` v                               
    INNER JOIN `beschluss` b ON b.`kategorie_id` = v.`kategorie_id`
    INNER JOIN `benutzer_besucht_veranstaltung` bbv ON bbv.`veranstaltung_id` = v.`veranstaltung_id`                              
    WHERE v.`konferenz_id` = 2
    GROUP BY v.`kategorie_id`
  • Es geht hier um PHP.
    Es liegt auf jeden Fall an dem SUM, da es sonst normal geht. Ich mein, ich kann mit ROUND arbeiten, aber ich wunder mich, weshalb das so ist.