[ https://issues.apache.org/jira/browse/SPARK-25708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wenchen Fan updated SPARK-25708: -------------------------------- Description: According to the SQL standard, when a query contains `HAVING`, it indicates an aggregate operator. For more details please refer to https://blog.jooq.org/2014/12/04/do-you-really-understand-sqls-group-by-and-having-clauses/ However, in Spark SQL parser, we treat HAVING as a normal filter when there is no GROUP BY, which breaks SQL semantic and lead to wrong result. This PR fixes the parser. > HAVING without GROUP BY means global aggregate > ---------------------------------------------- > > Key: SPARK-25708 > URL: https://issues.apache.org/jira/browse/SPARK-25708 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 2.4.0 > Reporter: Wenchen Fan > Assignee: Wenchen Fan > Priority: Major > Labels: correctness, release-notes > Fix For: 2.4.0 > > > According to the SQL standard, when a query contains `HAVING`, it indicates > an aggregate operator. For more details please refer to > https://blog.jooq.org/2014/12/04/do-you-really-understand-sqls-group-by-and-having-clauses/ > However, in Spark SQL parser, we treat HAVING as a normal filter when there > is no GROUP BY, which breaks SQL semantic and lead to wrong result. This PR > fixes the parser. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org