Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Obtener porcentaje de resultados que coinciden

Estas en el tema de Obtener porcentaje de resultados que coinciden en el foro de Mysql en Foros del Web. Buenas, Alguien me puede confirmar que para sacar el porcentaje de unas coincidencias en MySQL es necesario hacer dos consultas, una para contar todos los ...
  #1 (permalink)  
Antiguo 09/04/2011, 04:50
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Obtener porcentaje de resultados que coinciden

Buenas,

Alguien me puede confirmar que para sacar el porcentaje de unas coincidencias en MySQL es necesario hacer dos consultas, una para contar todos los registros y otra para contar las coincidencias y a partir de ahí sacar el porcentaje?

He estado mirando información por la red y he encontrado este enlace pero no acabo de ver como aplicarlo.
http://lists.mysql.com/mysql-es/82

Tengo una tabla con X registros, hago una consulta tal que así.

Código MySQL:
Ver original
  1. SELECT count(*) FROM partidos
  2. where pais = 'SP1' and marcador1L = FTL and marcador1V = FTV
  3. or pais = 'SP1' and marcador2L = FTL and marcador2V = FTV;

Y obtengo el número de coincidencias

Luego hago
Código MySQL:
Ver original
  1. SELECT count(*) FROM partidos where pais = 'SP1';

y obtengo el total de consultas

Sabéis de que forma puedo saber a que porcentaje corresponde la primera consulta sobre el total de la segunda?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 09/04/2011, 10:49
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Obtener porcentaje de resultados que coinciden

debes guardar ambas consultas en una variable. (http://dev.mysql.com/doc/refman/5.0/es/variables.html)

luego haces la regla de 3

total = 100%
total_consultas = x

porcentaje = total_consultas * 100 / total
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #3 (permalink)  
Antiguo 09/04/2011, 14:25
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Obtener porcentaje de resultados que coinciden

Es funcional, pero no hay ninguna forma de hacerlo en menos consultas?

Código MySQL:
Ver original
  1. SELECT count(*) INTO @coincidencias FROM partidos
  2. WHERE pais = 'SP1' AND marcador1L = FTL AND marcador1V = FTV
  3. OR pais = 'SP1' AND marcador2L = FTL AND marcador2V = FTV;
  4.  
  5. SELECT count(*) INTO @total FROM partidos WHERE pais = 'SP1';
  6.  
  7. SELECT @total as Total, @coincidencias as Coincidencias, (@coincidencias * 100 / @total) as Porcentaje;

Muchas gracias de antemano

Etiquetas: porcentaje, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.