0

私はテーブルを持っています:

==========================================================
|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       |
==========================================================

に依存するデータの数を取得したいid_sentenceのでfreq、結果は121でなければなりません。コードは次のとおりです。

$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;

しかし、結果はまだ間違っています。助けてください..ありがとう:)

4

2 に答える 2

2

私があなたの質問を理解しているなら、あなたは特定freqのそれぞれの個別の合計を計算しようとしています。id_sentencedocument_id

次のSQLを試してください。

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

結果は、id_sentenceおよび対応する合計を含むデータの行になりますfreq。後で手動で合計する必要はありません。

このSQLフィドルを参照してください:http ://sqlfiddle.com/#!2/691ed/8

于 2012-09-06T03:33:58.117 に答える
1

私はあなたが次のようなことをすることができると思います

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

あなたが望むカウントをするために。あなたも次のようなことをすることができます

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

カウントの対象となるid_sentence、freqの組み合わせを知るため。

于 2012-09-06T03:16:22.180 に答える