안녕하세요. 길벗 수험서 운영팀입니다.
불가능합니다.
예를 들어 회원님의 말씀처럼
select 상호, 총액
from 거래내역
group by 상호
having 총액=max(총액);
이렇게 작성한 경우, <거래내역> 테이블의 모든 상호와 총액이 출력되게 됩니다.
group by 절에 속하는 having에서 사용한 max(총액)는 group으로 묶인 레코드들의 max를 구하는 식으로 가동되기 때문입니다.
즉 위와 같이 '상호' 속성으로 그룹을 정한 경우 각 상호들 대명금속, 정금강업 등등 의 각 그룹들 안에서의 max를 구하게 되죠.
(이 경우에는 하나의 레코드밖에 없어 모두가 max값이 됩니다.)
아래와 같은 경우를 생각해보시면 될 것 같네요.
SELECT 상호, 총액, max(총액)
FROM 거래내역
group by 상호;
위 SQL문을 실행시켰을 때 총액과 max(총액)이 동일하게 찍히게 되는 것과 같습니다.
행복한 하루되세요.^^
-
*2018-10-01 17:55:45
안녕하세요. 길벗 수험서 운영팀입니다.
불가능합니다.
예를 들어 회원님의 말씀처럼
select 상호, 총액
from 거래내역
group by 상호
having 총액=max(총액);이렇게 작성한 경우, <거래내역> 테이블의 모든 상호와 총액이 출력되게 됩니다.
group by 절에 속하는 having에서 사용한 max(총액)는 group으로 묶인 레코드들의 max를 구하는 식으로 가동되기 때문입니다.
즉 위와 같이 '상호' 속성으로 그룹을 정한 경우 각 상호들 대명금속, 정금강업 등등 의 각 그룹들 안에서의 max를 구하게 되죠.
(이 경우에는 하나의 레코드밖에 없어 모두가 max값이 됩니다.)
아래와 같은 경우를 생각해보시면 될 것 같네요.
SELECT 상호, 총액, max(총액)
FROM 거래내역
group by 상호;위 SQL문을 실행시켰을 때 총액과 max(총액)이 동일하게 찍히게 되는 것과 같습니다.
행복한 하루되세요.^^