使用PHP和MySQL,我的表就是这样,第一个字段是"id",第二个字段是"score"等等。我想得到的分数从行id<20,也想为所有行的分数和百分比分数在每一行的总和。是否有其他方法从表中获得总和和百分比,而不是通过sql语句外的PHP语句计算?
"SELECT score FROM Table WHERE id<20";
然后使用PHP语句计算总和和百分比。
请帮帮我
SELECT sum(score) FROM Table WHERE id<20
会给你分数的总和。
另一个SQL可以给出每个id的百分比:
SELECT id, 100.0 / :total * score FROM Table WHERE id<20
Whereaes:total是您从第一个语句中获得的总价值(我不确定PHP中执行此操作的确切语法)。
如果您对总数不感兴趣,只对百分比感兴趣,您可以将这两个查询组合起来:
SELECT id, 100.0 / (SELECT sum(score) FROM Table WHERE id<20) * score FROM Table WHERE id<20
这样行吗?
SELECT SUM(score) FROM Table WHERE id<20
最好将这些计算留给数据库:
SELECT SUM(score) FROM Table WHERE id<20
。这些将计算分数的总和。
如何使用SUM()
函数?
这样的:
SELECT SUM(score) FROM Table WHERE id<20