728x90
반응형
SMALL
1. Group by절
- select 그룹을 맺은 컬럼 또는 집계함수 from 테이블명 group by 그룹을 맺을 필드명
- group by 절의 칼럼은 select 절에 존재해야 사용할 수 있음
select gender from member group by gender;
✅ gender로 그룹한 그룹의 총 개수 조회
select gender, count(*) as 인원수 from member group by gender;
✅ gender로 그룹한 그룹들의 포인트 총합 조회
select gender, sum(point) from member group by gender;
✅ gender로 그룹한 그룹의 포인트 평균 조회
select gender, avg(point) from member group by gender;
select userid, gender from member group by gender;
➡ 에러: gender로 그룹한 userid????
2. Group by절의 조건 달기 - having절
- select 그룹을 맺은 컬럼 또는 집계함수 from 테이블명 group by 그룹을 맺을 필드명 having 조건절;
✅ gender로 그룹하고 성별이 여자인 회원들의 성별과 point 총합 조회
select gender, sum(point) from member group by gender having gender = 'female';
3. where + group by + having + oreder by
- select 그룹을 맺은 컬럼 또는 집계함수 from 테이블명 where 조건절 group by 그룹을 맺을 필드명 having 조건절 order by 정렬할 필드명 [asc, desc];
- Query 작성 순서 : SELECT FROM WHERE GROUP BY HAVING ORDER BY;
✅ 포인트가 0이 아닌 회원들 중에서 남, 여 그룹을 나눠 포인트의 평균을 구하고 평균 포인트가 100 이상인 성별을 검색하여 포인트로 내림차순 정렬
select gender, avg(point) as avg
from member
where point > 0
group by gender
having avg >= 100
order by avg desc;
💡 having절과 order by절에서 별칭 사용 가능함!
728x90
반응형
LIST
'DataBase > MySQL' 카테고리의 다른 글
[MySQL] JOIN 과 UNION_INNER JOIN , LEFT/RIGHT OUTER JOIN, UNION, UNION ALL (0) | 2023.03.20 |
---|---|
[MySQL] MySQL 함수 - 1️⃣ 집계 함수 (0) | 2023.03.16 |
[MySQL] 테이블에서 데이터 정렬하기 - ORDER BY절 (0) | 2023.03.16 |
[MySQL] 원하는 조건에 만족하는 데이터만 조회하기 - WHERE절 (0) | 2023.03.16 |
[MySQL] SQL에서의 Null값을 알아보자! 🧐 (0) | 2023.03.16 |