mysql 데이터 그룹화
SQL 집계 함수를 사용하여 데이터를 요약할 수 있습니다. 이를 통해 모든 데이터를 검색하지 않고도 행 수를 계산하고, 합계와 평균을 계산하고, 최대값과 최소값을 얻을 수 있습니다.
지금까지의 모든 계산은 테이블의 모든 데이터 또는 특정 where 절과 일치하는 데이터에 대해 수행되었습니다. 다음 예에서는 공급자 1003이 제공한 제품 수를 반환합니다.
입력:
select count(*) as mun_prods from products where vend_id = 1003;
출력:
그러나 원하신다면 각 공급업체에서 제공한 제품 개수만큼 반품은 어떻게 되나요? 아니면 단일 제품만 제공하는 공급업체가 제공한 제품을 반품하거나, 10개 이상의 제품을 제공하는 공급업체를 반품하는 경우 어떻게 되나요?
그룹들의 실력이 발휘되는 시간입니다. 그룹화를 사용하면 데이터를 여러 논리적 그룹으로 나누어 각 그룹에서 집계 계산을 수행할 수 있습니다.
mysql이 그룹을 생성합니다
그룹은 select 문의 group by 절에 설정됩니다. 그룹화를 이해하는 가장 좋은 방법은 다음 예를 보는 것입니다.
입력:
select vend_id,count(*) as num_prods from products group by vend_id;
출력:
분석: 위 select 문 두 개의 열이 지정됩니다. vend_id에는 제품 공급자의 ID가 포함되고 num_prods는 계산된 필드(count(*) 함수로 생성됨)입니다. 조항 지식별로 그룹화 MySQL은 vend_id별로 데이터를 정렬하고 그룹화합니다. 이로 인해 전체 테이블 대신 각 vend_id에 대해 num_prods가 한 번씩 계산됩니다. 출력에서 볼 수 있듯이 공급자 1001에는 3개의 제품이 있고 공급자 1002에는 2개의 제품이 있으며 공급자 1003에는 7개의 제품이 있고 공급자 1005에는 2개의 제품이 있습니다.
그룹별을 사용하기 때문에 계산하고 평가할 각 그룹을 지정할 필요는 없습니다. 시스템이 자동으로 이를 수행합니다. group by 절은 MySQL이 데이터를 그룹화한 다음 전체 결과 집합 대신 각 그룹을 집계하도록 유도합니다.
group by 절을 사용하기 전에 몇 가지 중요한 규정을 알아야 합니다.
1 group by 절은 여러 열을 포함할 수 있습니다. 이를 통해 그룹 중첩이 가능해지며 데이터 그룹화를 더욱 세밀하게 제어할 수 있습니다.
2. group by 절에 그룹이 중첩된 경우 마지막으로 지정된 그룹에 데이터가 요약됩니다. 즉, 그룹을 구성할 때 지정된 모든 컬럼이 함께 계산되므로 개별 컬럼에서 데이터를 검색할 수 없습니다.
3. group by 절에 나열된 각 열은 검색 열이거나 유효한 표현식이어야 합니다(집계 함수는 아님). select에서 표현식을 사용하는 경우 group by 절에도 동일한 표현식을 지정해야 합니다. 별칭은 사용할 수 없습니다.
4. 집계 계산문을 제외하고 select 문의 각 열은 group by 절에 지정되어야 합니다.
5. 그룹화 열에 NULL 값이 있는 경우 NULL이 그룹화되어 반환됩니다. 한 열에 NULL 값의 행이 여러 개 있으면 함께 그룹화됩니다.
6. group by 절은 where 절 뒤, order by 절 앞에 와야 합니다.
[관련 권장사항]
위 내용은 mysql 데이터 그룹화: 그룹 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!