Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL che moltiplica i risultati delle sottoquery

Puoi farlo usando una sottoquery. La query che ottiene i conteggi per un ID particolare è:

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

Ti consigliamo di unire a sinistra il risultato di questa sottoquery nella tabella principale, quindi aggiungere la moltiplicazione appropriata, in questo modo:

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