티스토리 뷰
함수(2)
MySQL Functions
https://www.w3schools.com/sql/sql_ref_mysql.asp
GROUPING
중복되는 값들을 그룹핑 | GROUP BY
SELECT job_id AS '직무', SUM(salary) AS '직무별 총급여', AVG(salary) AS '직무별 평균 급여'
FROM employees
WHERE employee_id >= 10
GROUP BY job_id
ORDER BY '직무별 총급여' DESC, '직무별 평균 급여';
- 기준 열과 그룹 함수가 함께 SELECT에 쓰였다면 반드시 해당 열 기준으로 GROUP BY 되어야 함(그룹 함수만 쓰인 경우는 GROUP BY를 반드시 할 필요는 없음)
- 열의 중복되는 값들을 그룹화하고 그룹화된 행은 그룹 함수가 적용된다.
- GROUP BY에 열을 여러 개 나열하여 대그룹, 중 그룹, 소그룹의 형태로 응용 가능, 나열 순서대로 그룹핑
1. FROM에 접근
2. WHERE 조건에 맞는 것들 골라냄
3. GROUP BY 기술된 기준 열을 기준으로 같은 데이터 값끼리 그룹화
4. SELECT 값 출력
5. ORDER BY : 순서 정렬
그룹 함수의 결괏값을 조건으로 사용 | HAVING
SELECT job_id AS '직무', SUM(salary) AS '직무별 총급여', AVG(salary) AS '직무별 평균 급여'
FROM employees
WHERE employee_id >= 10
GROUP BY job_id
HAVING SUM(salary) > 30000
ORDER BY '직무별 총급여' DESC, '직무별 평균 급여';
- WHERE에서는 그룹 함수 사용 불가, HAVING을 사용해서 그룹 함수의 결괏값에 대해 조건식 적용
1. FROM 에 접근
2. WHERE 조건에 맞는 것들 골라냄
3. GROUP BY 기술된 기준 열을 기준으로 같은 데이터 값끼리 그룹화
4. HAVING 그룹화된 값에 대해 조건식 적용
5. SELECT 값 출력
6. ORDER BY : 순서 정렬
Aggregate Functions
최댓값, 최솟값 | MAX, MIN
SELECT MAX(salary) AS '최댓값', MIN(salary) AS '최솟값', MAX(first_name) AS '최대문자값', MIN(first_name) AS '최소문자값'
FROM employees;
- 문자의 MAX, MIN 은 문자의 사전 순서
총합 | SUM
SELECT SUM(salary)
FROM employees;
평균 | AVG
SELECT AVG(salary)
FROM employees;
개수 | COUNT
SELECT COUNT(*)
FROM employees;
👻 COUNT 는 null이 포함된 경우도 개수로 셈, 그 외는 null을 제외하고 연산
지난 함수(1) 포스팅에 이어서 이번 포스팅까지 함수에 대해서 다루어 보았습니다. 모든 함수를 다 다룬 것이 아닌데도 정말 많은 함수가 있네요.
그렇지만 자주 쓰는 함수는 아마 정해져 있을 것 같습니다.
낯익은 함수도 있고, 새로 배운 함수도 있고 유익한 시간이었습니다.
'DB' 카테고리의 다른 글
6. 집합 연산자 (0) | 2020.11.18 |
---|---|
5. JOIN (0) | 2020.11.18 |
3. 함수(1) (0) | 2020.11.16 |
2. 쿼리, 데이터 조회 기보 (0) | 2020.11.16 |
1. SQL의 실행 과정과 분류 (0) | 2020.11.15 |
- Total
- Today
- Yesterday
- db
- 업스트림
- Data Integrity
- Advanced Functions
- Query
- SQL
- 스태시
- rebase
- 병합
- DDL
- String Functions
- Merge
- git add
- 원격 브랜치
- mysql
- DML
- 리베이스
- Aggregation Functions
- DB execution
- 제약 조건
- 브랜치 삭제
- Numeric Functions
- git
- 깃
- 영역 무결성
- 브랜치 추적
- TCL
- Date Functions
- SQL 연산자
- set operator
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |