[
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)