Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL multiplicando resultados de subconsulta


Você pode fazer isso usando uma subconsulta. A consulta que obtém as contagens para um ID específico é:
SELECT a_id, s_count FROM tablename WHERE u_id = <id>

Você vai querer juntar à esquerda o resultado desta subconsulta na tabela principal, então sub sobre a multiplicação apropriada, assim:
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