쿼리 결과의 행 그룹화(Visual Database Tools)
적용 대상:SQL Server
부분합을 만들거나 테이블의 하위 집합에 대한 다른 요약 정보를 표시하려면 집계 쿼리를 사용하여 그룹을 만듭니다. 각 그룹은 동일한 값을 가진 테이블의 모든 행에 대한 데이터를 요약합니다.
예를 들어 titles
표에 있는 책의 평균 가격을 보고 싶지만 출판사별로 결과를 나누고 싶을 수 있습니다. 이렇게 하려면 쿼리를 게시자별로 그룹화합니다(예: pub_id
). 결과 쿼리 출력은 다음과 같을 수 있습니다.
데이터를 그룹화할 때 다음과 같이 요약 또는 그룹화된 데이터만 표시할 수 있습니다.
그룹화된 열의 값(GROUP BY 절에 표시되는 열)입니다. 위의 예제에서
pub_id
그룹화된 열입니다.SUM( ) 및 AVG( )와 같은 집계 함수에서 생성되는 값입니다. 위의 예제에서 두 번째 열은
price
열과 함께 AVG( ) 함수를 사용하여 생성됩니다.
개별 행의 값은 표시할 수 없습니다. 예를 들어 게시자별로만 그룹화하면 쿼리에 개별 제목을 표시할 수도 없습니다. 그러므로 쿼리 출력에 열을 추가하면 쿼리 및 뷰 디자이너가 SQL 창의 문에 GROUP BY 절을 자동으로 추가합니다. 열을 대신 집계하려면 해당 열에 대한 집계 함수를 지정할 수 있습니다.
둘 이상의 열을 그룹화하면 쿼리의 각 그룹은 모든 그룹화 열에 대한 집계 값을 표시합니다.
예를 들어 게시자(pub_id
) 및 도서 유형(type
)을 통해 titles
테이블 그룹에 대해 다음 쿼리를 수행합니다. 쿼리 결과는 게시자별로 정렬되며 게시자가 생성하는 각 다른 유형의 책에 대한 요약 정보를 표시합니다.
SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type
결과 출력은 다음과 같을 수 있습니다.
행을 그룹화하려면
다이어그램 창에 요약할 테이블을 추가하여 쿼리를 시작합니다.
다이어그램 창의 배경을 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 그룹 추가를 선택합니다. 쿼리 및 뷰 디자이너는 조건 창의 표에 Group By 열을 추가합니다.
그룹화할 열 또는 열을 조건 창에 추가합니다. 쿼리 출력에 열을 표시하려면 출력에 대해 출력 열이 선택되어 있는지 확인합니다.
쿼리 및 뷰 디자이너는 SQL 창의 문에 GROUP BY 절을 추가합니다. 예를 들어 SQL 문은 다음과 같이 표시될 수 있습니다.
SELECT pub_id FROM titles GROUP BY pub_id
조건 창에 집계하려는 열 또는 열을 추가합니다. 열이 출력용으로 표시되었는지 반드시 확인하세요.
집계할 열의 Group By 그리드 셀에서 적절한 집계 함수를 선택합니다.
쿼리 및 뷰 디자이너는 요약할 열에 열 별칭을 자동으로 할당합니다. 자동으로 생성된 별칭을 더 의미 있는 별칭으로 바꿀 수 있습니다. 자세한 내용은 열 별칭 만들기를 참조하세요.
SQL 창의 해당 문은 다음과 같을 수 있습니다.
SELECT pub_id, SUM(price) AS Totalprice FROM titles GROUP BY pub_id