기본 SQL 쿼리를 사용하여 데이터베이스에서 데이터를 검색 할 수 있지만 비즈니스 요구 사항을 충족하는 데 충분한 지능을 제공하지 못하는 경우가 많습니다. 또한 SQL은 GROUP BY 절을 사용하여 집계 함수를 적용하기 위해 행 수준 속성을 기반으로 쿼리 결과를 그룹화하는 기능을 제공합니다. 예를 들어 아래의 속성으로 구성된 주문 데이터 테이블을 고려하십시오.
- 주문 아이디 - 각 주문을 고유하게 식별하는 숫자 값입니다. 이 필드는 데이터베이스의 기본 키입니다.
- 영업 사원 - 제품을 판매 한 영업 사원의 이름을 제공하는 텍스트 값입니다. 이 필드는 인사 정보가 들어있는 다른 테이블의 외래 키입니다.
- 고객 ID - 고객 계정 번호에 해당하는 숫자 값입니다. 이 필드는 외래 키이며 고객 계정 정보가 들어있는 테이블을 참조합니다.
- 수익 - 판매액의 달러 금액에 해당하는 숫자 값입니다.
판매원에 대한 실적 검토를 수행 할 때가되면 주문 테이블에는 해당 검토에 사용할 수있는 중요한 정보가 들어 있습니다. Jim을 평가할 때 예를 들어 Jim의 판매 레코드를 모두 검색하는 간단한 쿼리를 작성할 수 있습니다.
고르다 *
주문에서
영업 사원과 같은 'Jim'
그러면 Jim이 만든 판매에 해당하는 데이터베이스의 모든 레코드가 검색됩니다. 주문 ID 영업 사원 고객 ID 수익
12482 짐 182 40000
12488 짐 219 25000
12519 짐 137 85000
12602 짐 182 10000
12741 짐 155 90000
이 정보를 검토하고 수동 계산을 수행하여 성능 통계를 산출 할 수는 있지만 회사의 각 영업 사원에 대해 반복해야하는 지루한 작업이 될 수 있습니다. 대신이 작업을 회사의 각 영업 사원에 대한 통계를 계산하는 단일 GROUP BY 쿼리로 바꿀 수 있습니다. 쿼리를 작성하고 Salesperson 필드를 기반으로 결과를 그룹화하도록 데이터베이스를 지정하기 만하면됩니다. 그런 다음 SQL 집계 함수를 사용하여 결과에 대한 계산을 수행 할 수 있습니다. 여기에 예제가 있습니다. 다음 SQL 문을 실행 한 경우 : SELECT (매출) AS '합계', MIN (수익) AS '최소', MAX (수익) '최대', AVG (수익) '평균', COUNT (수익)
주문에서
영업 사원 별 GROUP
다음과 같은 결과가 나타납니다. 영업 사원 총 최소 가장 큰 평균 수
짐 250000 10000 90000 50000 5
Mary 342000 24000 102000 57000 6
Bob 118000 4000 36000 39333 3
보시다시피이 강력한 기능을 통해 SQL 쿼리 내에서 작은 보고서를 생성하고 성능 검토를 수행하는 관리자에게 귀중한 비즈니스 인텔리전스를 제공 할 수 있습니다. GROUP BY 절은이 목적으로 데이터베이스에서 자주 사용되며 DBA의 트릭 백에서 유용한 도구입니다.