• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

GROUP BY

22.04.18 22:13 작성 조회수 187

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

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

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

0

자르트님의 프로필

자르트

질문자

2022.04.19

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