sql >> Base de Datos >  >> RDS >> Mysql

MySQL multiplicando los resultados de la subconsulta

Puedes hacer esto usando una subconsulta. La consulta que obtiene los recuentos de una identificación en particular es:

SELECT a_id, s_count FROM tablename WHERE u_id = <id>

Querrá unir a la izquierda el resultado de esta subconsulta en la tabla principal, luego sub sobre la multiplicación apropiada, así:

SELECT u_id, SUM(counts.s_count * tablename.weighted) AS total FROM tablename 
LEFT JOIN (SELECT a_id, s_count FROM tablename WHERE u_id = 1) counts
  ON tablename.a_id = counts.a_id
GROUP BY u_id