Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/06/2012, 18:10
rubiomike
 
Fecha de Ingreso: marzo-2010
Mensajes: 128
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Consulta para crear un ranking

Muchas gracias por responder. Creo que ya he conseguido lo que quería. Tan solo he tenido que modificar las líneas que dejo en negrita.

Código:
SELECT  peliculas.id,
	peliculas.titulo,
	peliculas.director,
	peliculas.year,
	votos_peliculas.id_pelicula,				 				 
  	IFNULL(AVG( votos_peliculas.nota ),0) AS promedio,
	COUNT(votos_peliculas.nota) AS votos,
    (IFNULL(AVG( votos_peliculas.nota ),0) * 0.98) + ( COUNT( * ) * 0.02 ) AS ponderacion
	FROM peliculas
   	LEFT JOIN votos_peliculas
     	ON peliculas.id = votos_peliculas.id_pelicula
   	GROUP BY peliculas.id 
  	ORDER BY ponderacion, DESC, promedio DESC, votos DESC
Si no me equivoco, con eso el promedio será un 98% del total y el número de votos el 2% ¿no?. Y solo tengo que ordenar 'ponderacion' descendentemente .

Por ahora parece que funciona, pero acepto sugerencias.

Un saludo y gracias de nuevo