group by
- 중복된 데이터를 그룹화 하는 키워드
- ~별로 묶어서 ...하자
- 주로, COUNT(), MAX(), MIN(), SUM(), AVG() 등과 같은 집계 함수와 함께 사용.
MySQL group by, having 사용법
group by
문제) author_lname별로 몇 권의 책을 썼는지 작가 이름과 책 권수 가져오기
① 데이터를 author_lname 으로 그룹화 하기
② 묶어준 그룹 안에서 각 데이터들의 개수 구하기 + 해당 컬럼의 이름은 book_cnt 라고 변경하기 + author_lname 과 book_cnt 컬럼만 가져오기
컬럼 released_year 를 그룹화 하여, released_year 컬럼 각각의 데이터 개수 가져오기
having
- group by 로 묶은 컬럼값들의 평균을 구한 후, 그 결과로 파생된 avg_stock 컬럼은 where 절에 사용할 수 없다.
- 그래서 이때 사용하는 것이 having
- 즉, 그룹화된 데이터에 수식이 필요한 경우에 사용
① where 조건문으로 데이터 제한하고,
② group by 컬럼 으로 묶은 데이터에 having 수식 넣어주기
'Database > MySQL' 카테고리의 다른 글
[MySQL] 데이터가 null 인지 아닌지 확인하는 방법 is null / is not null, ifnull() 함수로 null값 채우기 (0) | 2024.05.14 |
---|---|
[MySQL] 서브쿼리(Sub Query) 사용법 (0) | 2024.05.14 |
[MySQL] 데이터 집계함수 count(), sum(), avg(), max(), min() 사용법 (0) | 2024.05.14 |
[MySQL] 문자열 검색에 유용한 like 사용법 (0) | 2024.05.14 |
[MySQL] 데이터 중복제거 distinct (0) | 2024.05.14 |