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

Verwenden Sie den Tabellenspaltenwert für LIMIT, wenn Sie einen Join durchführen

Ich schätze, Sie müssen nur eine Zeilennummer für jeden ausgewählten Wert angeben und die Ergebnisse durch die Anzahl der Zeilen begrenzen, etwa so:(nicht getestet)

SELECT T0.experiment_id as `id`,   
(SELECT SUM(x.value) from       
 (SELECT value,@rownum := @rownum + 1 AS rownum           
  FROM data         
  JOIN (SELECT @rownum := 0) r
  WHERE experiment_id = t0.experiment_id         
  ORDER BY value             
 ) AS x
WHERE x,rownum < t0.clip_index
) AS `sum`
 FROM data_clip AS t0

siehe:MySQL - Zeilennummer bei Auswahl abrufen