rosen_
rosen_

Reputation: 248

Count data in same sentence

I have table :

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

I want to get the number of data depend on the id_sentence and freq so the result must be 1 2 1 here's the code :

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

but the result is still wrong. please, help me.. thank you :)

Upvotes: 0

Views: 82

Answers (2)

Hamish
Hamish

Reputation: 23346

If I understand your question, you are trying the calculate the sum of freq for each distinct id_sentence for a particular document_id.

Try the following SQL:

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

The result will be rows of data with the id_sentence and corresponding total freq. No need to manually sum things up afterwards.

See this SQL Fiddle: http://sqlfiddle.com/#!2/691ed/8

Upvotes: 2

Erik
Erik

Reputation: 2264

I think you could do something like

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

to do the counting you want. You could even do something like

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

to know which id_sentence,freq combination the count is for.

Upvotes: 1

Related Questions