LoginSignup
1
2

More than 3 years have passed since last update.

SQLのGROUP BYについて②

Posted at

前回、GROUP BYについて説明しましたが、
せっかくなので今回はGROUP BYを使用する際の注意点について説明しようと思います。
前回使用したテーブルを今回も使い回します。

name subject score
鈴木 国語 70
鈴木 数学 80
田中 国語 90
田中 数学 60
田中 英語 80
山田 数学 70

前回は、上記のテーブルに対して「nameごとのscoreの合計値を算出する」というSQLを作成しました。
再掲になりますが、SQLは以下の通り。

SQL
SELECT name, SUM(score) FROM TABLE1 GROUP BY name;

上記のようなSQLであるならば、問題なく実行することができます。
ですが、以下のようなSQLではエラーになってしまいます。

SQL
SELECT name, SUM(score) FROM TABLE1 GROUP BY subject;

理屈で考えればわかると思うのですが、「nameごとにscoreの合計値を算出」しているのに、
「subjectごとに表示する」なんてことができるはずがないので、エラーになって当然なんですけどね。
GROUP BYを使い始めた辺りはこの辺りで混乱しやすいので、注意しましょう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2