次のSQLを使用して2つのテーブルを結合し、結果を数えています
SELECT td.word, COUNT( instance ) AS wordcount
FROM ws_words td
LEFT JOIN ws_missed_words t ON ( t.wordID = td.wordID )
WHERE quizID =1
GROUP BY td.word
結果は
*****************************
| word | wordcount |
*****************************
| list | 3 |
| miss | 1 |
| skip | 1 |
| another| 0 |
これにもう1列追加したいと思います。以下に示すように、wordcount 列の実行中の合計を実行し、それを独自の列 (total と呼ばれる) に入れたいと思います。
欲しかった結果
****************************************************
| word | wordcount | totalwordcount |
*************************************************
| list | 3 | 3 |
| miss | 1 | 4 |
| skip | 1 | 5 |
| another| 0 | 5 |
私は次のことを試しました
SELECT td.word, COUNT( instance ) AS wordcount, SUM(wordcount) AS totalwordcount
FROM ws_words td
LEFT JOIN ws_missed_words t ON ( t.wordID = td.wordID )
WHERE quizID =1
GROUP BY td.word
しかし、私はエラーが発生します
#1054 - Unknown column 'wordcount' in 'field list'
それで次に試したのは
SELECT atable.word, atable.wordcount, SUM(atable.wordcount) AS totalwordcount FROM
(SELECT td.word, COUNT( instance ) AS wordcount
FROM ws_words td
LEFT JOIN ws_missed_words t ON ( t.wordID = td.wordID )
WHERE quizID =1
GROUP BY td.word) AS atable
しかし、私はこのようなものを得る
************************************************
| word | wordcount | totalwordcount |
************************************************
| list | 1 | 5 |
質問
単語数の累計を含む列を作成するにはどうすればよいですか?
UPDATE STRAWBERRY'S METHOD は私に以下のコードを与えます
| word | wordcount | running |
*************************************************
| another| 0 | 1 |
| miss | 1 | 2 |
| skip | 1 | 3 |
| list | 3 | 4 |
各単語をランク付けしているようなので、単語数が最も少ない単語数が 1 から始まり、同じ単語数の単語が 2 つある場合は、アルファベット順にリストされます。