인프런 커뮤니티 질문&답변

자르트님의 프로필 이미지
자르트

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스

UNION

GROUP BY

작성

·

254

1

평균 연봉이 3000000 이상인 선수들의 playerID

를 추출하는데

 
SELECT playerID, AVG(salary) FROM salaries GROUP BY playerID HAVING AVG(salary) >= 3000000
 
이것이 맞는 코드고
 
 SELECT playerID, AVG( salary) FROM salaries WHERE AVG(salary) >= 3000000
 
제가 생각한 코드는 이건데 왜 안되는지 잘 모르겠습니다.
playerID는 그렇다쳐도
 
SELECT AVG( salary)
FROM salaries
WHERE AVG(salary) >= 3000000
 
이건 나와야 하는게 아닌가 싶습니다! 아마 GROUP BY의 필요성에 대해 제대로 이해를 못한것 같은데 계속 되돌려 봐도 잘 모르겠습니다!
 
 

답변 2

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

일반 코딩처럼 AVG 함수를 이리저리 막 넣을 수가 없고
그냥 SQL 문법적으로 안되는거라 특별히 이유(?)라고 하기엔 애매하네요.
아래 코드를 보고 다양한 방식의 사용법을 보고 그냥 익숙해지는게 빠릅니다.

https://stackoverflow.com/questions/6403810/how-to-determine-salaries-greater-than-the-average-salary

0

자르트님의 프로필 이미지
자르트
질문자

빠른 답변 감사합니다 루키스님!! 개인적인 사업때문에 여러모로 바쁘실텐데 너무 감사드립니다!!

자르트님의 프로필 이미지
자르트

작성한 질문수

질문하기