2012-09-06 3 views
0

나는 테이블이 있습니다카운트 데이터가

$query = mysql_query("SELECT freq FROM tb where document_id='$doc_id' "); 
    while ($row = mysql_fetch_array($query)) { 
     $stem_freq = $row['freq']; 
     $total = $total+$stem_freq; 
: 그래서 결과가 여기에 1 2 1 있어야 id_sentencefreq에 따라 I 데이터의 수를 얻으려면

========================================================== 
|id | before | after | freq | id_sentence | document_id | 
========================================================== 
| 1 | a | b | 1 |  0  |  1  | 
| 2 | c | d | 1 |  1  |  1  | 
| 3 | e | f | 1 |  1  |  1  | 
| 4 | g | h | 2 |  0  |  2  | 
========================================================== 

코드입니다

하지만 결과는 여전히 잘못되었습니다. 저를 도와주세요 .. 감사합니다 :)

+1

그리고'stem_freq'은 무엇입니까? 표에 나와 있지 않습니다. – Hamish

+0

@Hamish 죄송합니다. 편집했습니다. –

+0

@ 존우는'id_sentence'에 의존합니다. 'id_sentence' 0에 1 개의 데이터가있는 등 –

답변

2

귀하의 질문을 이해하는 경우, 각 id_sentence에 대해 document_id에 대해 freq의 합계를 계산하려고합니다. 결과는 id_sentence와 데이터 행 및 총 freq 대응 것

SELECT id_sentence, SUM(freq) as freq FROM tb WHERE document_id = 1 GROUP BY(id_sentence) 

:

는 다음의 SQL을보십시오. 나중에 수동으로 물건을 합계 할 필요가 없습니다.

이 SQL 바이올린을 참조하십시오 : http://sqlfiddle.com/#!2/691ed/8

1

을 당신이 원하는 계산을 할

SELECT count(*) AS count FROM tb GROUP BY(id_sentence,freq) 

처럼 뭔가를 할 수있을 것. 숫자가 어떤 id_sentence, freq 조합인지 알기 위해

SELECT count(*) AS count, id_sentence, freq FROM tb GROUP BY(id_sentence,freq) 

과 같은 작업을 수행 할 수도 있습니다.