2016-03-10 90 views
1

我有一點dillema。我對編碼非常陌生,但真的很想完成我想爲我的博客創建的這個競賽應用程序。除了最後一步之外,我幾乎完成了。計數從DB中選擇了每個實例的次數

我的問題

我需要統計的各隊已經被所有成員選擇的次數。

我的數據庫表

或許,如果你看一下我的db表,它會更有意義我想要做的事。

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

任何建議或幫助將不勝感激。最終的目標是將其添加到圖表中,但現在只有印刷的報表才能做到。

回答

0

下面的查詢將做的伎倆。它將首先按照選擇對錶格進行分組,然後計算每個選擇的不同用戶數量。

select pick,count(distinct(member_nr)) as number_of_users from multiple_picks group by picks where tournament = '$tour' AND round ='$round'"; 
0

您正在使用sql聚合函數,但未使用group by子句。 也因爲你需要成員數量,它應該是不同的member_nr。

SELECT挑,COUNT(DISTINCT(member_nr))作爲NR FROM multiple_picks WHERE比賽= '$遊' 和圓形= '$一輪' 組由挑選

0

你驗證查詢? 如果它有沒有問題

$sql="SELECT pick,COUNT(DISTINCT(pick)) as nr FROM multiple_picks 
      Where tournament = '".$tour."' AND round ='".$round."' group by pick"; 

應該是這樣的。 祝你好運!