298쪽에 문제 4- 3 번에 최고매출거래처 쿼리를 작성하는 문제가 있습니다.
합계가 가장많은 거래처의 '거래처','상호','합계'로 이루어진 레코드를 찾는 문제인데요.
1.max함수를 사용해야겠다는 것은 알겠는데 조건절에 하위쿼리로 작성해야하는 이유를 모르겠습니다.
2.또한 하위쿼리에서 where = (select max(합계) from 업체별내역) 이라 되어있는데
where = max(합계) 가 왜??안되는지 모르겠습니다. 같은 테이블에서 조건을 찾는데 이렇게 해야 맞다고 생각했습니다.
실행해보면 where절에는 집계함수를 사용할 수 없다고 나옴니다. where절에는 그룹함수를 사용하지 못하는 것은
알고는 있습니다. 하지만 왜 사용할 수 없는지 깊게 알고 싶습니다. 알려주세요 .ㅠㅠㅠ
현재 만든 쿼리 내에서도
합계가 가장많은 거래처의 내용만 표시 하기 위한 것이므로 하위쿼리를 작성한 것입니다.
요약으로 최대값을 지정하면
그 필드안에서 최대값들을 계산하게 되는 것이지
최대값 하나만 표시하는 것은 아닙니다.
합계 필드에다가 하위 쿼리를 사용하는 이유는 '합계'의 값이 '합계가 최고인 값'하고 일치하는 레코드를 찾기 위해서입니다.
좋은 하루 되세요.
-
*2014-02-02 21:03:34"
현재 만든 쿼리 내에서도
합계가 가장많은 거래처의 내용만 표시 하기 위한 것이므로 하위쿼리를 작성한 것입니다.
요약으로 최대값을 지정하면
그 필드안에서 최대값들을 계산하게 되는 것이지
최대값 하나만 표시하는 것은 아닙니다.
합계 필드에다가 하위 쿼리를 사용하는 이유는 '합계'의 값이 '합계가 최고인 값'하고 일치하는 레코드를 찾기 위해서입니다.
좋은 하루 되세요.