【SQL】WHERE 〜 GROUP BY【順序が逆だと動きません】
構文
SELECT [カラム1] FROM [テーブル] GROUP BY [カラム2];
GROUP BY
とWHERE
句の順序が逆だと動かないので注意してください。
GROUP BY 〜 WHEREで特定のレコードを集計する例
以下に例を示します。
事前準備
テーブルを作ります
CREATE TABLE test (id INTEGER NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL, PRIMARY KEY(id));
次にリンゴ、オレンジ、バナナを登録しておきます
INSERT INTO test (name) VALUES('Apple'); INSERT INTO test (name) VALUES('Orange'); INSERT INTO test (name) VALUES('Banana'); INSERT INTO test (name) VALUES('Apple'); INSERT INTO test (name) VALUES('Orange'); INSERT INTO test (name) VALUES('Banana');
準備完了
準備したテーブルの内容は以下の通りです。
+----+--------+ | id | name | +----+--------+ | 1 | Apple | | 2 | Orange | | 3 | Banana | | 4 | Apple | | 5 | Orange | | 6 | Banana | +----+--------+
GROUP BY 〜 WHERE句で果物を集計する例
リンゴの数を集計します。集計にはCOUNT()
関数を使います。
SELECT name,COUNT(name) FROM test WHERE name = 'Apple' GROUP BY name;
集計結果は以下の通りです。
[実行結果]
+-------+-------------+ | name | COUNT(name) | +-------+-------------+ | Apple | 2 | +-------+-------------+
今回は以上です。
本記事の内容は、実際に手を動かしてみることをオススメします。
コピペで簡単に実行できますのでぜひ試して下さい。
最後に構文をおさらい
SELECT [カラム1] FROM [テーブル] GROUP BY [カラム2];
「今の会社を辞めて転職します。エンジニア職に強みのあるおすすめの転職サイト・転職エージェントを教えて欲しい。また好条件で転職するにはどうすれば良いですか?」こんな悩みに答えます。
ITエンジニアに強いおすすめの転職サイト・転職エージェント3選
転職成功には強くてニューゲームが条件。どうやって実現する?