Buenos días a todos.
Tengo un problema de consulta de MySQL, he estado buscando en casi todos los
temas algo parecido, pero no consigo ver a nadie que haya tenido el mismo
problema.
Tengo una tabla de votaciones y tengo que hacer una selección ordenada por
los más votados.
La tabla tiene dos campos importantes, FK_USUARIO y PUNTUACION
Lo que he conseguido es que con esta consulta, me sume el total de puntos y
me de la cantidad de votos que tiene cada usuario.
SELECT *, sum(valoraciones.puntuacion) as total_votos FROM usuarios LEFT
JOIN valoraciones ON valoraciones.fk_usuario_valoracion =
usuarios.id_usuarios GROUP BY valoraciones.fk_usuario_valoracion ORDER BY
total_votos DESC
En este caso, el me da el total de votos, pero necesito dividirlo por la
cantidad de votos para sacar el promedio.
SELECT *, SUM(puntuacion) AS total_puntos, COUNT(fk_usuario_valoracion) AS
total FROM `valoraciones` GROUP BY valoraciones.fk_usuario_valoracion ORDER
BY
total_puntos;
En esta segunda, consigo el total + la cantidad, pero aqui es donde viene el
problema cuando quiero que en la misma consulta aparezca la media
directamente, algo como esto:
(total_puntos / total) AS total_final
Alguien sabe como solucionar este tema en una o varias consultas?
Gracias anticipadas.
Leer las respuestas