반응형
안녕하세요. 경제적, 시간적 자유를 꿈꾸는 한량입니다.
예문 테이블을 가지고 DISTINCT와 GROUP BY의 사용법과 어떻게 동작하는지 알아보겠습니다.
CREATE TABLE class ( name VARCHAR(20), score INT );
INSERT INTO class VALUES
('BILL', 70),
('KIM', 50),
('ROSE', 70),
('SALLY', 60),
('AMY', 80),
('DAVID', 60),
('NANCY', 90);
1. DISTINCT 칼람명
중복을 제거하고 싶은 칼람명 앞에 적어주면 한건의 데이터만 반환합니다.
SELECT DISTINCT score FROM class;
// 실행 결과
score|
-----+
70|
50|
60|
80|
90|
2. GROUP BY 칼람명
중복된 값을 하나의 그룹으로 묶어서 반환해 줍니다.
SELECT score FROM class GROUP BY score;
// 실행 결과
score|
-----+
50|
60|
70|
80|
90|
위 두 방법 모두 score의 점수 중 중복된 '60'과 '70'을 한 번씩만 반환하였습니다.
DISTINCT와 GROUP BY의 차이점은
DISTINCT : 중복만 제거해 주고 조회 결과를 그대로 반환합니다.
GROUP BY : 중복 결과를 하나로 묶고 정렬을 해서 반환합니다.
속도면에서는 DISTINCT가 조금 빠르게 작동하지만
개발상황에 맞게 사용하시면 됩니다.
반응형
'IT 소스 > MariaDB' 카테고리의 다른 글
[MariaDB] SQL 쿼리 - CASE (0) | 2023.02.16 |
---|---|
[MariaDB] SQL 쿼리 - SUBSTR, SUBSTRING (0) | 2023.02.01 |
[MariaDB] SQL 쿼리 - TRIM, LTRIM, RTRIM (0) | 2023.01.30 |
[MariaDB] SQL 쿼리 - LIMIT (0) | 2023.01.27 |
[MariaDB] SQL 쿼리 - BETWEEN, NOT BETWEEN (0) | 2023.01.26 |