본문 바로가기
MYSQL

[내장 함수] 집계 함수

by 융디's 2024. 5. 5.
728x90
[내장 함수] 집계 함수

[내장 함수] 집계 함수

@2024.05.02

집계 함수

💡
SELECT절이나 HAVING에서 조건절에 이용될 수 있다.

전체를 집계하는 것이 필요할 때SELECT [집계 함수] FROM [테이블명] 으로 사용
  • COUNT(필드 명)
    • NULL 값이 아닌 레코드 수 구하기
    --  employees 테이블에서 id 필드의 레코드 수를 반환(NULL이 아닌 값)
    SELECT COUNT(id) FROM employees;
    
    --  employees 테이블에서 중복되지 않은 부서의 개수를 반환
    SELECT COUNT(DISTINCT department) FROM employees;
    
    --  employees 테이블의 전체 행의 개수를 반환
    SELECT COUNT(*) FROM employees;
  • SUM(필드 명)
    • 합계
    -- orders 테이블에서 price 필드의 값의 합계를 계산
    SELECT SUM(price) FROM orders;
  • AVG(필드명)
    • 각각의 그룹 안에서 필드 명의 평균값
    -- students 테이블에서 score 필드의 값들의 평균을 계산
    SELECT AVG(score) FROM students;
  • MAX(필드 명)
    • 최대 값 구하기
    --  orders 테이블에서 amount 필드의 값 중에서 가장 큰 값 반환
    SELECT MAX(amount) FROM orders;
  • MIN(필드 명)
    • 최소 값 구하기
    --  orders 테이블에서 amount 필드의 값 중에서 가장 작은 값 반환
    SELECT MIN(amount) FROM orders;
  • GROUP_CONCAT(필드 명)
    • 그룹화된 결과 집합의 각 행의 값을 결합하여 하나의 문자열로 만드는 함수
    • GROUP BY 절과 함께 사용되며, 그룹화된 결과에 대해 특정 필드의 값을 연결하여 보여줄 때 유용
    -- GROUP_CONCAT(employee_name) : 각 부서별로 직원 이름을 합친 문자열 출력
    SELECT department, GROUP_CONCAT(employee_name)
    FROM employees
    GROUP BY department;

    < 쿼리 실행 전 >

    employee_namedepartment
    AliceSales
    BobSales
    CharlieHR
    DavidHR
    EmmaMarketing
    FrankMarketing

    < 쿼리 실행 후 >

    departmentGROUP_CONCAT
    (employee_name)
    SalesAlice,Bob
    HRCharlie,David
    MarketingEmma,Frank

  • VARIANCE(필드 명)
    • 그룹에 속한 행의 해당 필드 명 값의 분산을 계산하여 반환
    • 분산 : 데이터가 얼마나 퍼져있는지를 나타내는 통계적 측도
    -- 직원들의 급여에 대한 분산을 계산하여 반환
    SELECT VARIANCE(salary) FROM employees;
  • STDDEV(필드 명)
    • 그룹에 속한 행의 해당 필드 명의 값의 표준 편차를 계산하여 반환
    • 표준 편차 : 데이터가 얼마나 평균 주위에 분포되어 있는지를 나타내는 통계적 측도
    -- 생들의 나이에 대한 표준 편차를 계산하여 반환
    SELECT STDDEV(age) FROM students;

728x90

'MYSQL' 카테고리의 다른 글

GROUP BY  (0) 2024.05.05
형 변환  (0) 2024.05.05
[내장 함수] 날짜형 함수  (0) 2024.05.05
[내장 함수] 숫자형 함수  (0) 2024.05.05
[내장 함수] 문자형 함수  (0) 2024.05.05