Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/07/2008, 10:40
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Select where media + alta y + votos

Creo haberte entendido, pero también creo que no has considerado un par de posibilidades. Imagina que tienes dos veces el mismo máximo número de votos 20, y una media en ambos casos que es igual o superior a 8 (9,750 y 11, respectivamente). En ese caso tendrías que sacar los dos, ¿o no? E imagina esto otro, que ambos tienen la misma cantidad de votos 20 y también la misma media 11. Aquí seguro que querrías sacar los dos, porque, si no lo haces, estarías falseando el resultado. Y donde digo 2 puedo decir 3 o más.
Para hacer ambas cosas, te pongo una consulta que se me ha ocurrido, aunque no estoy seguro de que sea la única:

Cita:
SELECT v2.votadoid, COUNT(v2.votadoid) AS numervotos, AVG(v2.votos) AS mediavotos FROM votar v2 GROUP BY v2.votadoid HAVING COUNT(v2.votadoid) = (SELECT MAX(T1.numvotos) AS num FROM (SELECT COUNT(v.votadoid) as numvotos, AVG(v.votos) AS media FROM `votar` v GROUP BY v.votadoid HAVING AVG(v.votos) >=8)T1) AND AVG(v2.votos) >=8
aclaración: en la consulta escrita al final saco todos los números de votos de aquellos votadoid cuya media de votos iguala o supera 8; luego selecciono el máximo de esos números de votos y luego realizo una consulta buscando todos los votadoid cuyo número de votos coincide con ese máximo y tienen una media de votos igual o superior a 8.

Yo trabajo con MySQL. Espero que te sirva la consulta.

Última edición por jurena; 11/07/2008 a las 14:36 Razón: He corregido algún error.