작성
·
1.6K
0
SELECT MAX(salary*months) ,COUNT(MAX(salary*months))
FROM employee
에러가 아래와 같이 나는 걸로 봐서는
함수를 저런식으로 쓰면 안된다는 거 같은데
왠지 잘 모르겠어요!ㅠㅠ
ERROR 1111 (HY000) at line 16: Invalid use of group function
답변 1
1
안녕하세요 D D님 :)
올려주신 쿼리에서는 두 가지 문제가 확인됩니다.
1. GROUP BY를 이용하여 그룹핑을 하면서 집계함수 연산을 사용하실 때에는 반드시 집계 기준이 되는 컬럼을 명시해주신 후, 집계 함수(MAX, COUNT 등)를 나열해주셔야 합니다.
2. 집계함수(COUNT) 안에 또다른 집계함수(MAX)를 중첩해서 사용하실 수는 없습니다.
MySQL 또한 컴퓨터에게 일을 시키기 위해 약속된 하나의 언어이므로 정확히 문법을 지켜주시지 않으면 동작을 하지 않습니다.
관련하여 문법을 참고하실 수 있는 MySQL 문서를 첨부드립니다.
https://dev.mysql.com/doc/refman/8.0/en/counting-rows.html
궁금증이 해결되셨길 바랍니다. 감사합니다.