🕶️

[SQL]GROUP BY と DISTINCT の違いについて(備忘録)

2023/11/04に公開

1.DISTINCT とは

重複排除した結果を表示したい場合に使用します。

2.GROUP BY とは

重複排除(重複行をグループ化)した結果に対し、何らかの処理(集計や合計)を行いたい場合に使用します。

3.サンプルプログラム

〇サンプルプログラム

Sample_1.sql
create table result(
    id INT AUTO_INCREMENT NOT NULL,
    area varchar(10) NOT NULL,
    score INT(3) NOT NULL,
    PRIMARY KEY (id)
);

INSERT INTO result
(area, score)
VALUES 
('東京', 55),('東京', 70),('東京', 80),('大阪', 50),('大阪', 65),('大阪', 90);

SELECT DISTINCT area
FROM result;

-- 地域ごとの合計点数を表示
SELECT area, SUM(score) AS TotalScore
FROM result
GROUP BY area;

〇サンプルプログラムの結果

area
東京
大阪
area TotalScore
東京 205
大阪 205

4.その他

実行環境

Discussion