mysql-server5.0.18 에서 aggregate 함수 포함한 쿼리를 128 테이블 이상 union 할 때 에러
글쓴이: dharana / 작성시간: 일, 2006/03/12 - 10:10오후
데비안 에치 환경에서 mysql-server-5.0.16과 5.0.18 의 결과가 틀립니다.
600개의 서로 다른 데이터를 저장한 테이블(구조는 같음)에서 필드의 평균값을 가져와야 합니다.
(select avg(a) as score from table_1 where date>10192848) union (select avg(a) as score from table_2 where date>10192848) union ... ... (select avg(a) as score from table_600 where date>10192848) order by score desc limit 100;
5.0.16에서 해보면 제대로 결과가 나옵니다만, 5.0.18에서는 select 에 aggregate 함수가 쓰이면, 128개까지만 union 이 가능합니다. 129개 이상부터는
Error 1111: Invalid use of group function
이라는 에러 메시지가 나옵니다.
MySQL 사이트 버그 시스템과 데비안 버그 시스템에서 검색을 해 보았으나 일치하는 버그가 있는 지 찾지는 못했습니다.
이게 버그인지, 아니면 버전 업 되면서 뭔가 세팅을 해줘야 하는 건지 잘 모르겠습니다.
5.0.16을 쓰는 방법 외에 5.0.18에서 대처할 수 있는 방법을 아시는 분은 알려주시면 고맙겠습니다.
Forums:
버그네요. mysql 버그
버그네요. mysql 버그 시스템에 신고했고 확인됐습니다.
댓글 달기