我有点意外。我对编码非常陌生,但我真的想完成这个竞赛应用程序我试图为我的博客创建。除了最后一步,我差不多完成了。
我的问题
我需要计算所有成员选择每个团队的次数。
我的数据库表
也许如果你看看我的数据库表,我会更加明白我想做什么。
示例 通过查看表格,应用程序应显示为:
2 users selected the Stormers
2 users selected the Kings
1 User Selected the Cheetahs
1 User Selected the Sunwolves
依旧
我尝试通过执行以下操作来对此进行编码。 (请不要仔细审查我没有使用准备好的陈述。我已经在努力了,但我正在慢慢地学习调整。)
<?php
$sql="SELECT pick,COUNT(DISTINCT(pick)) as nr FROM multiple_picks
Where tournament = '$tour' AND round ='$round'";
$result=mysql_query($sql);
while($row = mysql_fetch_array($result)){
$timesSelected = $row['nr'];
$teamSelected = $row['pick'];
echo $timesSelected.' Players Selected'. $teamSelected;
}
?>
非常感谢任何建议或帮助。最终目标是将其添加到图表中,但现在只需打印语句即可。
答案 0 :(得分:0)
以下查询可以解决问题。它会首先按选择对表进行分组,然后计算每个选择的不同用户数。
select pick,count(distinct(member_nr)) as number_of_users from multiple_picks group by picks where tournament = '$tour' AND round ='$round'";
答案 1 :(得分:0)
您正在使用sql聚合函数但未使用group by子句。 此外,由于您需要成员计数,因此它应该与member_nr不同。
SELECT pick,COUNT(DISTINCT(member_nr))为nr FROM multiple_picks 锦标赛='$ tour'AND round ='$ round' 分组选择
答案 2 :(得分:0)
您是否验证了查询? 如果没有问题
$sql="SELECT pick,COUNT(DISTINCT(pick)) as nr FROM multiple_picks
Where tournament = '".$tour."' AND round ='".$round."' group by pick";
应该是这样的。 祝好运 !