Estoy tratando de determinar el puntaje de una entrada al encontrar la diferencia entre el número de upvotes y downvotes que ha recibido en MYSQL al ejecutar SELECT (SELECT COUNT(vote_id) AS vote_up FROM
votos WHERE vote='UP'),(SELECT COUNT(vote_id) AS vote_down FROM
votos WHERE vote='DOWN'),(vote_up - vote_down AS vote_score)
. Sin embargo, cuando intento ejecutar esto, me dice que no tengo la sintaxis adecuada. ¿Qué estoy haciendo mal?Obteniendo la diferencia entre los recuentos de dos subconsultas
Además, ¿hay una mejor manera de escribir esto?
Y, por último, ¿cuál es la forma ideal de encontrar el artículo con el mayor y menor número de votos? ¿Podría solo ORDER BY [above query]
?
+1 Sin embargo, recibirá un error por omitir una cláusula 'GROUP BY'. –
¡Guau, gracias! Esto funcionó perfectamente. Y tu publicación fue una buena lectura, aunque normalmente no trato con consultas que son muy largas ... – nickles
@The Scrum Meister: Tienes razón. Fijo. Mi mayor deseo para SQL es que, si no tuviera un GROUP BY, supiera lo que debería basarse en mi SELECT ... – btilly