티스토리 뷰
- Group by
- having
Group by : select 쿼리에 대해서 특정 속성값을 기준으로 분류하여 가져올 수 있다.
-- Group by
-- 사원의 수를 성별로 구별해서 가져온다.
select gender, count(*)
from employees
group by gender;
-- 각 부서에 근무하고 있는 사원들의 수
select dept_no, count(*)
from dept_emp
where to_date = '9999-01-01'
group by dept_no;
-- 각 부서별 과거의 매니저의 수
select * from dept_manager;
select dept_no, count(*)
from dept_manager
where to_date <> '9999-01-01'
group by dept_no;
-- 급여 수령 시작일 별 급여 총합
select * from salaries;
select from_date, sum(salary)
from salaries
group by from_date;
-- 급여 수령 시작일 별 급여 평균
select from_date, avg(salary)
from salaries
group by from_date;
-- 급여 수령 시작일 별 급여 최고액
select from_date, max(salary)
from salaries
group by from_date;
-- 급여 수령 시작일 별 급여 최소액
select from_date, min(salary)
from salaries
group by from_date;
having : Group by로 분류한 튜플들에 대해서 원하는 조건에 해당하는 그룹만 가져올 수 있다.
-- having
-- group by로 분류된 튜플들에 대해서 having조건에 해당하는 튜플만 살린다.
-- 10만명 이상이 사용하고 있는 직함의 이름과 직원의 수를 가져온다.
select * from titles;
select title, count(*)
from titles
group by title
having count(*) >= 100000;
-- 5만명 이상이 근무하고 있는 부서의 부서번호와 부서 소속 사원의 수를 가져온다.
select * from dept_emp;
select dept_no, count(*)
from dept_emp
group by dept_no
having count(*) >= 50000;
반응형
'CS > MySql 정리' 카테고리의 다른 글
mysql 학습정리 : 서브 쿼리 (0) | 2021.10.09 |
---|---|
mysql 학습정리 : Join (카티전 프로덕트, 동등조인) (0) | 2021.10.07 |
mysql 학습정리 : select + 그룹함수 (0) | 2021.10.01 |
mysql 학습정리 : select + 날짜 및 시간 함수 (0) | 2021.09.22 |
mysql 학습정리 : seletc + 문자열 조작 함수 (0) | 2021.09.16 |
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday