为什么这个查询不显示每个用户的点数和,而是显示所有的总和
我已经编写了一个SQL
查询,它显示所有用户的所有点的总和,而我希望它:显示每个用户的点的总和。
我写的表格包含以下内容:
id | Score
1 | 20
2 | 30
2 | 50
1 | 10
总表:
id | points
1 | 30
1 | 40
我想加上
user(1) = 30
和user(2) = 80
的分数Id: 1 = 30 = Fail
Id: 2 = 80 = Pass
我写的问题是:
$query = "SELECT SUM(sg.score) as sum, SUM(a.total) as suma FROM points as sg, totalpoints as a
WHERE a.id = 1 GROUP BY sg.id";
相关代码如下:
<?php
foreach($rowsum as $rowsm):
if( ' '. htmlentities($rowsm['sum']) . '' > 50 )
echo 'Pass';
else if( ' '. htmlentities($rowsm['sum']) . '' >= 40 )
echo 'Failed';
echo ' ' . htmlentities($rowsm['sum'], ENT_QUOTES, 'UTF-8') . '<br>';
endforeach;
?>
最佳答案
您需要按用户ID分组:
SELECT SUM(score) as sum FROM points GROUP BY id ORDER BY id
还有一个不正确的WHERE子句
WHERE id=id
不需要。
关于php - 总和查询不能正常工作的SQL和PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23329522/