MySQL - Como puedo hacer una consulta calculada

 
Vista:

Como puedo hacer una consulta calculada

Publicado por Pau Vidal (1 intervención) el 20/03/2007 10:45:31
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo hacer una consulta calculada

Publicado por kain (124 intervenciones) el 21/03/2007 18:24:08
hola pau:

no se si te entiendo bien. quizas es esto lo que necesitas??

SELECT *, (SUM(puntuacion) /COUNT(fk_usuario_valoracion)) AS media FROM `valoraciones` GROUP BY valoraciones.fk_usuario_valoracion ORDER BY

aunque tambien podria ser esto otro

SELECT *, (SUM(puntuacion) /(select COUNT(fk_usuario_valoracion) from valoraciones)) AS media FROM `valoraciones` GROUP BY valoraciones.fk_usuario_valoracion ORDER BY

esto deberia funcionar bien por lo menos con la Ver 5.0

un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar