【发布时间】:2019-03-17 17:47:15
【问题描述】:
真的需要一些指导,我有一个网站,人们可以将图像上传到比赛并获得结果(分数),我想拿出一个领导委员会来看看每个人的表现如何。但是,我的 SQL 查询中有重复的人名,有人可以告诉我在哪里更改我的查询,以便将参加 3 场比赛的 1 人的结果相加,并且在输出中只说明一次总分。结果保存在tblMembEntCompfldResult。
我目前得到的:
我的 PHP 代码:
<p><b>LEADERSHIP BOARD</b></p>
<?php
$query = "SELECT `tblMember`.`fldFName`, `tblMember`.`fldSName`, `tblMembEntComp`.`fldResult` FROM `tblMember` AS `tblMember` JOIN `tblMembEntComp` as `tblMembEntComp` ON `tblMember`.`fldMemberID` = `tblMembEntComp`.`fldMemberID`ORDER BY `fldResult` DESC";
$result = $conn -> query($query);
while($row = $result -> fetch_assoc())
{
echo $row['fldFName']." ".$row['fldSName']." ".$row['fldResult']."<br>";
}
?>
更新:
我已经按照下面用户的建议尝试了GROUP BY 函数,但是我得到了错误:
【问题讨论】:
-
您可以使用用户独有的东西来检索当前分数。例如电子邮件地址
-
名称是否唯一?
group by和sum浮现在脑海 -
嗨@user3783243我还没有使用SUM,你知道这个SUM在查询中会去哪里吗?
-
视情况而定,如果名称不是唯一的,您将无法使用它,因为您会将两个不同的人加在一起。
-
@user3783243 所以是的,会有唯一的
fldMemberID的?
标签: php sql phpmyadmin