Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL multipliziert Unterabfrageergebnisse

Sie können dies mit einer Unterabfrage tun. Die Abfrage, die die Anzahl für eine bestimmte ID erhält, lautet:

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

Sie sollten das Ergebnis dieser Unterabfrage in die Haupttabelle linksverknüpfen und dann die entsprechende Multiplikation wie folgt unterziehen:

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