我有一张这样的桌子:
ItemID PersonID Score Percentage
==========================================
1 1 10 [ = 10 / 10+30 = 25%]
1 2 30 [ = 30 / 10+30 = 75%]
2 1 20 [ = 20 / 20+40 = 33%]
2 2 40 [ = 40 / 20+40 = 67%]
“百分比”上的数据不输入,而是按一定的时间间隔自动计算。计算方法是百分比 = 分数 / ItemID 的总分数
我没有使用“SELECT-do the maths-UPDATE”方法,而是尝试编写一个 SQL 来更新“百分比”。
我尝试的是这样的:
UPDATE tb_temp AS t1
SET t1.Percentage =
CEIL( t1.Score /
(SELECT SUM(t2.Score) FROM tb_temp AS t2 WHERE t2.ItemID = t1.ItemID)
);
但它不起作用。(错误代码:1093 您不能在 FROM 子句中指定目标表 't1' 进行更新)。
任何想法?