Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2013, 11:45
carlosml08
 
Fecha de Ingreso: septiembre-2013
Mensajes: 61
Antigüedad: 10 años, 8 meses
Puntos: 0
Problemas con el redondeo de mysql

Estoy calculando un promedio desde una consulta en mysql, pero al realizar el calculo manual no siempre calcula bien el promedio y el error me lo da por un decimal, he comprobado el calculo desde php con la libreria fpdf y de forma manual. Les adjunto la consulta:
Código MySQL:
Ver original
  1.         `nota`.`upclass_id` AS `upclass_id`,
  2.         `g`.`grade` AS `grade`,
  3.         `c`.`class_name` AS `class_name`,
  4.         `nota`.`cal_id` AS `cal_id`,
  5.         sum((`nota`.`grade` * `rc`.`weightings`)) / (select
  6.                         sum(`rule_comment`.`weightings`)
  7.                     from
  8.                         `rule_comment`
  9.                     where
  10.                         (`rule_comment`.`actives` = 'true')) AS `promedio`,
  11.         `nota`.`student_id` AS `student_id`
  12.     from
  13.         ((((((`student_subject_grade` `nota`
  14.         join `subject` `sub`)
  15.         join `rule_comment` `rc`)
  16.         join `sy` `s`)
  17.         join `term_cal` `cal`)
  18.         join `upclass` `c`)
  19.         join `grade` `g`)
  20.     where
  21.         ((`nota`.`subject_id` = `sub`.`id`)
  22.             and (`sub`.`sy_id` = `s`.`id`)
  23.             and (`rc`.`subject_id` = `sub`.`id`)
  24.             and (`nota`.`cal_id` = `cal`.`id`)
  25.             and (`cal`.`active` = 'true')
  26.             and (`cal`.`release_cal` = 'true')
  27.             and (`c`.`id` = `nota`.`upclass_id`)
  28.             and (`g`.`id` = `c`.`grade_id`))
  29.     group by `cal`.`id` , `nota`.`student_id`
  30.     order by `nota`.`student_id` , `cal`.`id`
[/PHP]
Tambien lo he probado redondeando el promedio con la funcion ROUND(n,2) y siempre el mismo resultado.

Última edición por gnzsoloyo; 19/11/2013 a las 13:15 Razón: MUY mal etiquetado. Usar Highlight correcto, por favor.