안녕하세요 MYsql로 작업을 하는데 아래와 같이 오라클에서 돌리면 에러가 나는데 mysql은 에러가 나지 않습니다. 여기서 ggg.b 행으로 계산되는 값은 어떤 값이 오나요 랜덤값이 오게되나요?
mysql은 많이 짜보지 않아서 잘 모르겠네요.. 아시는분 답변부탁드릴께요
select ggg.a, ggg.b, count(ggg.c)
from
(select 12 a, 2 b,3 c from dual union all select 1 a, 2 b,3 c from dual
union all select 1 a, 2 b,3 c from dual union all select 1 a, 2 b,3 c from dual
union all select 1 a, 9 b,3 c from dual union all select 1 a, 2 b,3 c from dual
union all select 12 a, 9 b,3 c from dual union all select 1 a, 2 b,3 c from dual
union all select 1 a, 10 b,3 c from dual
) ggg group by ggg.a
MySQL은 버젼에 따라 쿼리 syntax 검출 처리가 조금씩 달라요.
분명 문법에는 맞는 구조가 아니구요.
MySQL에서 문법 체크를 제대로 해주지 못해서 그런거에요.
저런 경우 현재 버젼에서는 그냥 MySQL이 문제가 되는 부분을 알아서 처리해서 ggg.a, ggg.b에 대한 group by 처리를 할꺼에요.....
근데, 버전 업글이라도 할라 치면 바로 문제가 될것이기 때문에 가능하다면, 문법에 맞게 쓰세요.
문법 체크는 mysql reference를 보시면 정확하게 알 수 있겠지만,
connect by 와 같은 것이 아닌 경우 대부분 sql 문법은 오라클과 크게 다르지 않습니다.
특히, group by 처리 같은 것은요.