2012-06-03 19 views
0

我試圖將數據庫表中每個單獨數字的所有出現次數加總並將它們返回到關聯數組中。總共發生在數據庫表中的個別數字

作爲一個例子,該表可以包括條目:1 3 4 2 1 2 1 1 4 3 3 4 2

當總計,這將是1 = 4,2 = 3,3 = 3 ,4 = 3.

理想情況下,這將作爲一個數組與'數字'和'總'鍵返回。

回答

3

SQL c Öder你需要的是:SELECT num AS number, COUNT(num) AS occurrences FROM yourtable GROUP BY num

有了答案,你將在每一行的第一個字段的數量和第二個發生的次數。然後,你可以創建一個數組,雖然SQL階躍響應

取數組會是這樣的(未測試的代碼,僅作爲參考)單方面它只是循環:

$myArray = array(); 
while($row = mysql_fetch_array($data)) 
{ 
    $myArray[$row["num"]] = $row["occurrences"]; 
} 
0

一種選擇是取結果,並使用array_count_values

$arr = array_count_values($arr); 

在SQL查詢中,你可以做同樣的COUNTGROUP BY

SELECT number, COUNT(*) as total FROM mytable GROUP BY number 

最後將返回兩列相應的數據:

------------------ 
| number | total | 
------------------ 
| 1  | 4  | 
------------------ 
| 2  | 3  | 
------------------ 
...