Yes, when you group an Integer field in Elasticsearch Adapter, NULL and Integer.MIN_VALUE will be in the same group, which is not correct for SQL users.
On 11/21/2021 19:56,Justin Swanhart<greenl...@gmail.com> wrote: If I am understanding correctly, the field2 value is NULL. Count(0) should be 2 and count(field2)==2 because of the way aggregates treat NULL values. On Fri, Nov 19, 2021, 8:21 PM ZheHu (Jira) <j...@apache.org> wrote: ZheHu created CALCITE-4896: ------------------------------ Summary: GROUP BY might get wrong results under certain circumstances in Elasticsearch Adapter Key: CALCITE-4896 URL: https://issues.apache.org/jira/browse/CALCITE-4896 Project: Calcite Issue Type: Bug Components: elasticsearch-adapter Affects Versions: 1.28.0 Reporter: ZheHu In Elasticsearch Adapter, if one field is grouped by along with missing value, SQL user might get incorrect results. Take the following case as an example: {code:java} ES mappings: {"int_field1" : integer, "int_field2" : integer} doc1 = {"int_field1":1, "int_field2": -2147483648} doc1 = {"int_field1":2} {code} When I try "select count(1) as CNT from view group by int_field2", the result is 2. For Integer type, the missing value is replaced by Integer.MIN_VALUE, so doc1 and doc2 will be divided in the same group. Any other data types like short、long、float、double, they also have such problem. -- This message was sent by Atlassian Jira (v8.20.1#820001)