쿼리 작성 시 요약에 식이 있고 조건이 있는데 조건을 지정할 때 조건을 누르는 건 알고 있는데 어떤 경우에는 식이 들어가더라고요 식을 선택해야 되는 경우는 어떤 경우가 있으며 둘의 차이점을 알려주실 수 있나요?
안녕하세요.
네. Access의 요약 쿼리에서 식(Expression)과 조건(Where)은 역할이 완전히 다릅니다. 핵심은 이렇게 구분하시면 됩니다.
조건(Where)은 집계하기 전에 원본 레코드를 걸러낼 때 사용합니다. 반면 식(Expression)은 이미 집계된 값이나 계산 결과를 이용해서 새로운 값을 표시할 때 사용합니다.
예를 들어 판매수량의 합계를 구한다고 하면,
제품명 → 묶는 방법
판매수량 → 합계
지역 → 조건처럼 지역에 조건을 주면, 먼저 지역 조건에 맞는 원본 레코드만 남긴 뒤 그 데이터를 제품명별로 합계합니다. SQL로는 보통 WHERE 절에 들어갑니다.
반면 이런 계산 필드가 있다고 해보겠습니다.
평균단가: [총판매금액]/[총판매수량]또는
비율: Sum([판매금액])/Sum([수량])처럼 집계 결과를 다시 이용해서 계산하는 필드는 요약 행에서 식을 사용합니다.
즉 식은 대략 이런 경우입니다.
판매금액 → 합계
판매수량 → 합계
평균단가: Sum([판매금액])/Sum([판매수량])
→ 식이때 평균단가를 묶는 방법으로 두면 Access가 그 계산식 자체를 그룹 기준으로 사용하려고 하므로 의도와 달라집니다.
정리하면,
조건(Where)
→ 어떤 원본 레코드를 계산에 포함할지 결정
→ 집계 전에 필터링
→ 보통 표시 체크 해제
→ SQL의 WHERE 절
식(Expression)
→ 계산된 값이나 집계 결과를 이용한 계산 필드
→ 결과를 표시하기 위한 식
→ SQL의 SELECT 절에 계산식으로 들어감예를 들어 문제에서
판매수량이 10 이상인 데이터만 대상으로 제품별 판매금액 합계를 구하시오.
라면 판매수량은 요약에서 조건을 사용합니다.
제품명 묶는 방법
판매금액 합계
판매수량 조건
조건 >=10반대로
제품별 총판매금액을 총판매수량으로 나눈 평균금액을 표시하시오.
라면 계산 필드는 식입니다.
평균금액: Sum([판매금액])/Sum([판매수량])요약 → 식한 가지 더 주의할 점은 집계 결과 자체에 조건을 거는 경우입니다. 예를 들어
제품별 판매수량 합계가 100 이상인 제품만 표시
라면 판매수량은 합계로 두고 조건에 >=100을 입력합니다. 이것은 SQL에서는 HAVING 조건이 됩니다. 즉 디자인 그리드에서 보이는 조건 칸과 요약 행의 조건(Where)은 서로 다른 개념입니다.
시험용으로 가장 간단하게 기억하면:
원본 데이터 필터링 → 요약 ‘조건’
계산 결과를 만드는 필드 → 요약 ‘식’
으로 기억하시면 됩니다.
즐거운 하루 되세요.
-
관리자2026-09-10 09:09:03
안녕하세요.
네. Access의 요약 쿼리에서
식(Expression)과조건(Where)은 역할이 완전히 다릅니다. 핵심은 이렇게 구분하시면 됩니다.조건(Where)은 집계하기 전에 원본 레코드를 걸러낼 때 사용합니다. 반면식(Expression)은 이미 집계된 값이나 계산 결과를 이용해서 새로운 값을 표시할 때 사용합니다.예를 들어 판매수량의 합계를 구한다고 하면,
제품명 → 묶는 방법 판매수량 → 합계 지역 → 조건처럼
지역에 조건을 주면, 먼저 지역 조건에 맞는 원본 레코드만 남긴 뒤 그 데이터를 제품명별로 합계합니다. SQL로는 보통WHERE절에 들어갑니다.반면 이런 계산 필드가 있다고 해보겠습니다.
평균단가: [총판매금액]/[총판매수량]또는
비율: Sum([판매금액])/Sum([수량])처럼 집계 결과를 다시 이용해서 계산하는 필드는 요약 행에서
식을 사용합니다.즉
식은 대략 이런 경우입니다.판매금액 → 합계 판매수량 → 합계 평균단가: Sum([판매금액])/Sum([판매수량]) → 식이때
평균단가를묶는 방법으로 두면 Access가 그 계산식 자체를 그룹 기준으로 사용하려고 하므로 의도와 달라집니다.정리하면,
조건(Where) → 어떤 원본 레코드를 계산에 포함할지 결정 → 집계 전에 필터링 → 보통 표시 체크 해제 → SQL의 WHERE 절 식(Expression) → 계산된 값이나 집계 결과를 이용한 계산 필드 → 결과를 표시하기 위한 식 → SQL의 SELECT 절에 계산식으로 들어감예를 들어 문제에서
판매수량이 10 이상인 데이터만 대상으로 제품별 판매금액 합계를 구하시오.
라면
판매수량은 요약에서조건을 사용합니다.제품명 묶는 방법 판매금액 합계 판매수량 조건 조건 >=10반대로
제품별 총판매금액을 총판매수량으로 나눈 평균금액을 표시하시오.
라면 계산 필드는
식입니다.평균금액: Sum([판매금액])/Sum([판매수량])요약 → 식한 가지 더 주의할 점은 집계 결과 자체에 조건을 거는 경우입니다. 예를 들어
제품별 판매수량 합계가 100 이상인 제품만 표시
라면
판매수량은합계로 두고 조건에>=100을 입력합니다. 이것은 SQL에서는HAVING조건이 됩니다. 즉 디자인 그리드에서 보이는조건칸과 요약 행의조건(Where)은 서로 다른 개념입니다.시험용으로 가장 간단하게 기억하면:
원본 데이터 필터링 → 요약 ‘조건’
계산 결과를 만드는 필드 → 요약 ‘식’으로 기억하시면 됩니다.
즐거운 하루 되세요.