MySQL のグループ化と他の列の合計値
MySQL で、GROUP BY 句を使用して 1 つまたは複数の列に基づいて行をグループ化する場合列が増えると、他の列の集計値を計算することが一般的になります。この例では、「word」と「amount」の 2 つの列があるテーブルがあるとします。一意の単語ごとに金額を合計したいとします。
問題が発生しました:
次のように GROUP BY 句を使用しようとしたとき:
SELECT word, SUM(amount) FROM `Data` GROUP BY 'word'
列が次のとおりであることを示すエラーが発生する場合があります。無効です。
解決策:
この問題は、'word' 列名を一重引用符で囲んでいるため、文字列として扱われるために発生します。代わりに、列名を囲む一重引用符を削除するだけです:
SELECT word, SUM(amount) FROM Data GROUP BY word
この修正された構文では、行が「word」列ごとに正しくグループ化され、一意の単語ごとに「amount」列が合計され、必要な値が得られます。結果:
word | amount |
---|---|
dog | 6 |
elephant | 2 |
以上がMySQL で GROUP BY と SUM を正しく使用してデータを集計する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。