DB는 포스트그레스를 사용합니다.
select outday, jpcode, sum(outdan)/count(*) as sumoutdan from DB명
group by outday, jpcode;
위와같은 sql문장이 있습니다.
실행시에 에러가 발생하거든요.
outdan 필드의 값을 outday, jpcode로 그룹한 숫자인 count(*)로 나눌경우 에러가 발생합니다. 그런데 이상한것은 ...다른 필드중에는 위와같은 문장이 에러없이 발생을 합니다. 테스트를 해보니까... field타입에 따라 다르더라구요.
음.. integer형은 위의 문장이 성립이 되지만... float형은 안됩니다.
그리고
필드형이 float인 경우에도 count(*) 대신에 임의의 숫자를 즉 sum(outdan)/3 이런식으로 실행을 하면 결과는 잘 나옵니다.
field 타입이 float형인 경우에 그룹된 숫자인 count(*)를 사용하여 연산을 하는 방법을 알고 계신분은 답변 부탁드립니다.
이거 꼭 해야되는데.... 급합니다. 그럼... 답변 기다리겠습니다.
> DB는 포스트그레스를 사용합니다.
>
> select outday, jpcode, sum(outdan)/count(*) as sumoutdan from DB명
> group by outday, jpcode;
>
> 위와같은 sql문장이 있습니다.
> 실행시에 에러가 발생하거든요.
> outdan 필드의 값을 outday, jpcode로 그룹한 숫자인 count(*)로 나눌경우 에러가 발생합니다. 그런데 이상한것은 ...다른 필드중에는 위와같은 문장이 에러없이 발생을 합니다. 테스트를 해보니까... field타입에 따라 다르더라구요.
> 음.. integer형은 위의 문장이 성립이 되지만... float형은 안됩니다.
> 그리고
> 필드형이 float인 경우에도 count(*) 대신에 임의의 숫자를 즉 sum(outdan)/3 이런식으로 실행을 하면 결과는 잘 나옵니다.
> field 타입이 float형인 경우에 그룹된 숫자인 count(*)를 사용하여 연산을 하는 방법을 알고 계신분은 답변 부탁드립니다.
> 이거 꼭 해야되는데.... 급합니다. 그럼... 답변 기다리겠습니다.
음..왜안돼는지 알수가 없군요.. 하지만 sum(outdan)/count(*) 이 문장은..
avg(outdan) 으로 쓰시면 될겁니다. 혹시 outdan의 field 형이 먼지요 ?