SQL에서 group by의 조건에 관한 질문입니다
글쓴이: gusiri / 작성시간: 일, 2009/10/04 - 8:59오후
예산이 1000 이 넘는 부서만을 관리하는 manager의 id를 출력하는 문제인데요.
id budget
----------------------------
101 500
101 1500
102 2000
102 3000
이런 데이터가 주어진다면
id
--------------
102
를 출력해야 합니다. 그래서 만든 SQL문이
SELECT D.managerid
FROM dept D
GROUP BY D.managerid
HAVING EVERY ( D.budget > 1000 );
인데 네번째 줄에 우괄호 누락이라고 하면서 자꾸 오류가 나네요.
어디가 잘못된 것인가요? 배운지 얼마 안되어서 너무 헷갈립니다ㅠ
Forums:
글쎄요 -_-
저도 잘 모릅니다만..
걍 select distinct id from dept where budget > 1000 하면 안되는 이유라도 -.-;;;;
질문에 벗어난 답변이라 죄송함니다 (__);
문법 틀림
이것은 문법에 틀립니다
SELECT D.managerid
FROM dept D
GROUP BY D.managerid
HAVING EVERY ( D.budget > 1000 );
다음과 같은 형식이 문법에 맞습니다
SELECT D.managerid
FROM dept D
GROUP BY D.managerid
HAVING EVERY( D.budget ) > 1000 ;
그런데 EVERY라는 것이 있는지 모르겠네요
그래서 해본것이 sum
SELECT D.managerid
FROM dept D
GROUP BY D.managerid
HAVING sum( D.budget ) > 1000 ;
MIN을 써보시면 어떨까 싶네요
SELECT D.managerid
FROM dept D
GROUP BY D.managerid
HAVING MIN(D.budget) > 1000
댓글 달기