그룹별로 두 가지 조건을 가질 수 있나요?

PHPz
풀어 주다: 2024-02-18 14:11:07
원래의
770명이 탐색했습니다.

group by可以两个条件吗

제목: GROUP BY를 사용하여 다중 조건 그룹화 구현 예

SQL 쿼리에서 GROUP BY 문은 일반적으로 특정 열에 따라 데이터를 그룹화하고 각 그룹화에 대한 집계 작업을 수행하는 데 사용됩니다. 그런데 그룹화를 위해 두 가지 조건을 동시에 만족시켜야 하는 경우가 있는데, GROUP BY 문에서 여러 조건을 사용할 수 있나요? 다음으로 구체적인 코드 예제를 통해 이 질문에 답하겠습니다.

이름, 부서, 급여를 포함한 직원 정보가 포함된 "employees"라는 데이터 테이블이 있다고 가정합니다. 이제 직원을 부서 및 성별별로 그룹화하고 각 그룹의 평균 급여를 계산해야 합니다.

먼저 샘플 데이터 테이블을 만들고 일부 데이터를 삽입해 보겠습니다.

CREATE TABLE employees (
  name VARCHAR(50),
  department VARCHAR(50),
  gender VARCHAR(10),
  salary DECIMAL(10, 2)
);

INSERT INTO employees VALUES
  ('张三', '销售部', '男', 5000),
  ('李四', '销售部', '男', 5500),
  ('王五', '销售部', '女', 4800),
  ('赵六', '财务部', '女', 6000),
  ('刘七', '财务部', '男', 6500),
  ('陈八', '技术部', '男', 7000),
  ('许九', '技术部', '女', 5500);
로그인 후 복사

이제 다음 쿼리 문을 사용하여 부서 및 성별별로 그룹화하고 평균 급여를 계산할 수 있습니다. 위 쿼리 문에서

SELECT department, gender, AVG(salary) AS average_salary
FROM employees
GROUP BY department, gender;
로그인 후 복사

GROUP BY 절은 부서와 성별이라는 두 가지 필드를 사용합니다. 이 두 필드의 조합으로 데이터를 그룹화하도록 데이터베이스에 지시합니다. 그런 다음 AVG 함수를 사용하여 각 그룹의 평균 급여를 계산하고 이름을 "average_salary"로 지정합니다.

위 쿼리문을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

部门      性别      平均工资
-------------------------
销售部    男       5250.00
销售部    女       4800.00
财务部    女       6000.00
财务部    男       6500.00
技术部    男       7000.00
技术部    女       5500.00
로그인 후 복사

결과에서 볼 수 있듯이 데이터는 먼저 "부서" 필드별로 그룹화되고, 그 다음 각 내에서 "성별" 필드별로 그룹화됩니다. 부서. 이러한 방식으로 우리는 그룹화를 위해 여러 조건을 사용해야 한다는 것을 깨달았습니다.

요약하자면, 그룹화를 위해 GROUP BY 문에서 여러 조건을 사용할 수 있습니다. GROUP BY 절에 여러 필드를 사용하면 이러한 필드의 조합에 따라 데이터를 그룹화하고 각 그룹에 대해 집계 작업을 수행할 수 있습니다. 위의 예에서는 GROUP BY를 사용하여 부서별, 성별별로 그룹화하고 평균 급여를 계산하는 방법을 보여주었습니다.

이 기사가 SQL 쿼리에서 다중 조건 그룹화에 GROUP BY를 사용하는 방법을 이해하는 데 도움이 되기를 바랍니다. 더 궁금한 점이 있으시면 언제든지 문의해 주세요.

위 내용은 그룹별로 두 가지 조건을 가질 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿