Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/11/2010, 09:51
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: sacar le % de dos campos de BD

Buenos días jmgf74, el problema es que no tenemos idea de cómo es tu tabla ni como tienes almacenada tu información, es por eso que el compañero gnzsoloyo te pedía que pusieras la estructura de tu tabla, te voy a dar un ejemplo de cómo podrías hacerlo, pero te repito que depende de como tengas tu información.

Supongamos que tienes dos tablas, una tabla NOTICIAS y una tabla VOTOS más o menos así:

Código:
NOTICIAS
idNoticia|Descripcion
------------------------------
1|Noticia Uno
2|Noticia Dos

VOTOS
idVoto|idNoticia|valor
------------------------------
1|1|positivo
2|2|negativo
3|1|negativo
4|1|positivo
5|2|positivo
Esto quiere decir que la noticia Uno tiene 2 votos positivos y 1 negativo y la noticia Dos tiene 1 positivo y 1 negativo

Puedes hacer algo como esto:

Código MySQL:
Ver original
  1. idNoticia,
  2. 100*votos_positivos/total_Votos as Porcentaje_positivos,
  3. 100*votos_negativos/total_Votos as Porcentaje_negativos
  4. (
  5. idNoticia,
  6. sum(1) as total_votos,
  7. sum(case when voto = 'positivo' then 1 else 0 end) as votos_positivos,
  8. sum(case when voto = 'negativo' then 1 else 0 end) as votos_negativos
  9. from votos
  10. group by idNoticia
  11. ) T1

Esto te regresaría algo como esto
idNoticia|Porcentaje_positivos|Porcentaje_negativo s
--------------------------------------------------------------------
1|66.6667|33.3333
2|50.0000|50.0000

Saludos y espero que te pueda servir de algo el código
Leo