计算从数据库

时间:2016-03-10 03:22:56

标签: php mysql

我有点意外。我对编码非常陌生,但我真的想完成这个竞赛应用程序我试图为我的博客创建。除了最后一步,我差不多完成了。

我的问题

我需要计算所有成员选择每个团队的次数。

我的数据库表

也许如果你看看我的数据库表,我会更加明白我想做什么。

enter image description here

示例 通过查看表格,应用程序应显示为:

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;
    }
    ?>

非常感谢任何建议或帮助。最终目标是将其添加到图表中,但现在只需打印语句即可。

3 个答案:

答案 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";

应该是这样的。 祝好运 !