2012-06-03 2 views
0

데이터베이스 테이블에서 각 개별 숫자의 모든 항목을 합계하여 연관 배열로 반환하려고합니다. 합산하면 1 3 4 2 1 2 1 1 4 3 3 4 2데이터베이스 테이블의 모든 개별 숫자의 총 합계

, 이것은 = 4 (1) = 3 (2, 3) = 3이 될 것이다 :

예로

, 테이블의 엔트리로 구성 될 수있다 , 4 = 3입니다.

이상적으로 이것은 'number'및 'total'키가있는 배열로 반환됩니다.

$arr = array_count_values($arr); 

SQL 쿼리에서 당신이 COUNTGROUP BY과 같은 작업을 수행 할 수 있습니다 :

답변

3

SQL 당신이 필요로하는 ode는 다음과 같습니다 : SELECT num AS number, COUNT(num) AS occurrences FROM yourtable GROUP BY num

답으로 첫 번째 필드의 숫자와 두 번째 필드의 숫자가 각각의 행에 나타납니다. 그럼 당신은 배열을 생성하고 SQL을

배열이 (테스트 코드가 아닌, 단지 가이드) 같은 것 가져 오기 respones 비록 단지 반복을 음부 수 있습니다

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

하나의 옵션은 결과를 가져오고 array_count_values 사용하는 것입니다

해당 데이터를 두 개의 열을 반환합니다
SELECT number, COUNT(*) as total FROM mytable GROUP BY number 

마지막 :

------------------ 
| number | total | 
------------------ 
| 1  | 4  | 
------------------ 
| 2  | 3  | 
------------------ 
... 
관련 문제