Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/11/2010, 10:58
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: sacar le % de dos campos de BD

Por lo que pareces decir, te refieres a obtener el porcentaje de votos negativos y positivos por cada noticia. Eso implica calcular simplemente el resultado por cada una de ellas, con forme lo que tienes en ese registro.
Porcentajes por cada idn:
Código MySQL:
Ver original
  1. titulo, img, Descripcion, ((positivo*100)/(positivo+negativo)) positivos,  ((negativo*100)/(positivo+negativo)) negativos
  2. FROM noticias
  3. ORDER BY positivos DESC, negativos DESC;

Cita:
que yo quiero hacer o que se me ocurrio, es agregar otro campo en la tabla que se llama votos a en el quiero almacenar el % de votos positivos asi puedo organizar las noticias segun el valor de este campo.
Ahora bien, una de las cosas que enseñan cuando cursas Bases de Datos es que no se deben almacenar datos calculables, es decir datos cuyo resultado se puede obtener al mismo tiempo que la consulta que se hace sobre los otros datos.
Es innecesario, redundante, y propenso a problemas de consistencia, ya que cuando se trata de datos que evolucionan a través del tiempo, debes incluir procesos de actualización constante que en realidad son superfluos.
Yo no te aconsejo hacer lo que dices precisamente porque esos porcentajes pueden variar en forma constante.
De hecho, ni siquiera es necesario almacenar esas sumas si ya tienes otra tabla que almacene los votos emitidos por los usuarios.
Obtener los acumulados y los porcentajes se puede hacer perfectamente cuando listas los temas (noticias) que han sido votados.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)