TIL( SQL 기본문법 )

2024. 8. 14. 23:25TIL

 

 

group by

 

MySQL에서 유형별로 갯수를 가져오고 싶은데, 단순히 COUNT 함수로 데이터를 조회하면 전체 갯수만을 가져온다
이때, 유형별로 갯수를 알고 싶을 때는 컬럼에 데이터를 그룹화 할 수 있는 **GROUP BY**를 사용하는 것입니다.

GROUP BY를 사용할 때는 두가지를 기억해야한다.
- 특정 컬럼을 그룹화 하는 GROUP BY
- 특정 컬럼을 그룹화한 결과에 조건을 거는 HAVING

* WHERE랑 HAVING을 헷깔리는 경우가 많은데 WHERE는 그룹화 하기 전이고, HAVING은 그룹화 후에 조건이다.

SELECT type, COUNT(name) AS cnt FROM hero_collection GROUP BY type;


=> type 그룹화 하여 hero_collection 테이블에서 name 갯수 조회

 

AVG

 

- 테이블에 존재하는 컬럼의 평균을 구하고 싶을 때 사용하는 함수로, 컬럼의 타입이 숫자형인 경우에만 사용할 수 있으며, null값을 제외하여 계산하는 점에 유의해야한다. 만약 값이 null인 경우에도 포함하여 평균을 구하고 싶을 때는 SUM함수와 COUNT함수를 혼합하여 사용해야 한다.

**컬럼의 평균 구하기
SELECT AVG(컬럼) FROM 테이블;
SUM

 

- 테이블에 존재하는 컬럼의 합을 구하고 싶을 때 사용하는 함수로, 컬럼의 타입이 숫자형인 경우에만 사용할 수 있다.

SELECT SUM(컬럼) FROM 테이블;
COUNT

 

-테이블에 존재하는 데이터 갯수를 가져오고 싶을 때 사용하는 함수로, 전체 행의 갯수를 가져올 때는 null값도 포함하여 계산하지만 특정 컬럼의 갯수를 가져올때는 null값은 제외하여 계산된다.

*전체 행 갯수 가져오는 쿼리
SELECT COUNT(*) FROM 테이블
*컬럼 데이터 갯수 가져오기
SELECT COUNT(컬럼) FROM 테이블;

'TIL' 카테고리의 다른 글

TIL(AWS Lambda)  (0) 2024.08.19
TIL ( 면접카타 jwt )  (0) 2024.08.16
TIL( reduce )  (0) 2024.08.13
TIL ( Redis-cache )  (0) 2024.08.12
TIL ( GUBU 프로젝트 중간 KPT )  (0) 2024.08.09