[ 
https://issues.apache.org/jira/browse/CALCITE-6830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926719#comment-17926719
 ] 

Lantao Jin commented on CALCITE-6830:
-------------------------------------

yes. I understood there was no standard say what the result type should be. But 
I haven't seen this behaviour in commercial databases. Maybe we could change 
the default behaviour of avg in Calcite to double precision when its argument 
type are TINYINT, SMALLINT, INTEGER or BIGINT.

> AVG aggregate function with integer argument type return wrong type
> -------------------------------------------------------------------
>
>                 Key: CALCITE-6830
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6830
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.39.0
>            Reporter: Lantao Jin
>            Priority: Major
>              Labels: pull-request-available
>
> To reproduce (agg.iq)
> {code:java}
> !use post
> !set outputformat mysql
> SELECT avg(deptno) as a FROM emp;
> {code}
> Should return 22.1429, but returns 22.
> This behavior is different from other databases.
> Since the AVG agg with integer argument returns wrong type, the behaviors of 
> var_pop, var_samp, stddev_pop, stddev_samp and stddev are wrong either.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to