안녕하세요..
수파베이스 함수를 호출해서 평균값을 가져오는 부분입니다.
1번 코드로 하면 정상적으로 avg 값이 정상적으로 출력되는데, 소숫점 자리를 하나로 제한하기 위해서
아래의 2번과 같이 round 함수를 추가하면 데이터를 가져오지 못하는데 이유가 있나요?
1번 avg(gmr."correctCount"::float) as avg
2번 round(avg(gmr."correctCount"::float),1) as avg
고수님들 의견 주시면 감사하겠습니다.
create or replace function gamemathrecordstats(gameidpara integer, useridpara uuid, startdate date, enddate date)
returns table(
gameid int,
userid uuid,
max int,
min int,
avg float
) as $$
begin
return query
select
gmr."gameid"::int,
gmr."userid"::uuid,
max(gmr."correctCount"::int) as max,
min(gmr."correctCount"::int) as min,
1번 avg(gmr."correctCount"::float) as avg
2번 round(avg(gmr."correctCount"::float),1) as avg
from "GameMathRecord" as gmr
where
gmr."gameid" = gameidpara and
gmr."userid" = useridpara and
gmr."gamedate" >= startdate and
gmr."gamedate" <enddate
group by
gmr."gameid",
gmr."userid"
;
end;
$$ language plpgsql;