요약에서 묶는범위를 최대값으로 묶는 방법이나 조건에 max([합계])라고 쓰는건 왜 안되나요? (select max(합계) from 업체별내역) 이것도 결국 업체별 내역 테이블에서 합계의 최대값(=값이 가장 큰 값) 을 가지고 오는거 아닌가요? 이 질문에
하위 쿼리를 사용하라는 조건이 있다면 교재와 같이 하위 쿼리를 사용해야 합니다.
다만 이러한 조건이 없다면 결과만 맞으면 실제 시험에서는 맞게 채점된다고 답변해주셨는데,
문제에 하위쿼리를 사용하라는 말이 없었고,, (select max(합계) from 업체별내역) 과 조건에 max([합계])를 쓰는게 동일하다고 생각했는데 조건에 쓰는 방식으로는 결과가 제대로 나오지 않아, 무슨 차이가 있어서 안되는건지 여쭤본것입니다..ㅜ
안녕하세요.
우선 요약을 사용하는 경우는 문제에서 특정 필드를 대상으로 중복되는 레코드가 검색되는 경우로 해당 중복 레코드를 하나로 요약해 그에 대한 합계, 평균 등을 구하는 것입니다.
보통 문제에서 OO별 XX별 ~~의 합계를 ... 평균을 ... 구하시오, 라고 제시되며, 이 경우 OO 필드나 XX 필드를 기준으로 ~~ 필드에 요약 함수를 지정합니다.
하지만 이 문제는 합계를 구하는 것이 아니라 '합계'라는 필드에서 가장 큰 값을 찾아서 그 값에 해당하는 거래처를 표시하는 문제입니다.
예를 들어
레코드가 거래처, 금액이 있고 검색된 레코드의 형태가
거래처 금액
BB 100
AA 200
BB 200
AA 100
이렇다면 거래처별 금액의 합계를 구하라는 조건이 제시될 것입니다.
그럼 거래처 필드를 기준으로 금액 필드에 합계 함수를 적용하면
거래처 합계
AA 300
BB 300
이렇게 됩니다.
하지만 질문하신 문제는 <업체별내역> 쿼리를 이용하는 것으로 해당 쿼리에는 거래처별로 이미 합계 필드에 값이 들어가 있으며
요약해서 합계를 구하는 것이 아니라 합계 필드를 대상으로 가장 큰 값을 찾아 그 값에 해당하는 거래처를 표시하는 것입니다.
함수(합계-SUm, 평균- AVG, 최대값 - MAX 등)는 요약이 된 상태에서만 사용하는 것으로 이 문제는 요약을 하는 문제가 아니므로
교재와 같이 문제의 조건에 하위 쿼리가 없더라도 하위 쿼리를 사용해야 합니다.
즐거운 하루 되세요.
-
관리자2026-03-04 18:47:35
안녕하세요.
우선 요약을 사용하는 경우는 문제에서 특정 필드를 대상으로 중복되는 레코드가 검색되는 경우로 해당 중복 레코드를 하나로 요약해 그에 대한 합계, 평균 등을 구하는 것입니다.
보통 문제에서 OO별 XX별 ~~의 합계를 ... 평균을 ... 구하시오, 라고 제시되며, 이 경우 OO 필드나 XX 필드를 기준으로 ~~ 필드에 요약 함수를 지정합니다.
하지만 이 문제는 합계를 구하는 것이 아니라 '합계'라는 필드에서 가장 큰 값을 찾아서 그 값에 해당하는 거래처를 표시하는 문제입니다.
예를 들어
레코드가 거래처, 금액이 있고 검색된 레코드의 형태가
거래처 금액
BB 100
AA 200
BB 200
AA 100
이렇다면 거래처별 금액의 합계를 구하라는 조건이 제시될 것입니다.
그럼 거래처 필드를 기준으로 금액 필드에 합계 함수를 적용하면
거래처 합계
AA 300
BB 300
이렇게 됩니다.
하지만 질문하신 문제는 <업체별내역> 쿼리를 이용하는 것으로 해당 쿼리에는 거래처별로 이미 합계 필드에 값이 들어가 있으며
요약해서 합계를 구하는 것이 아니라 합계 필드를 대상으로 가장 큰 값을 찾아 그 값에 해당하는 거래처를 표시하는 것입니다.
함수(합계-SUm, 평균- AVG, 최대값 - MAX 등)는 요약이 된 상태에서만 사용하는 것으로 이 문제는 요약을 하는 문제가 아니므로
교재와 같이 문제의 조건에 하위 쿼리가 없더라도 하위 쿼리를 사용해야 합니다.
즐거운 하루 되세요.