SELECT id,100.0/(SELECT SUM(points) FROM data)*points AS reward,points FROM data;
我遇到的第一个问题是,我认为多次运行内部选择效率不高,最好使用什么连接。
第二个问题是我正在使用生成的数据集生成数百个单独的更新查询,我如何从一个查询中的选择中更新?
IE
UPDATE aggregate AS a SET a.reward=a.reward+data.reward
SELECT ...
WHERE a.dataid = data.id