Just use column number in your group by. select datediff(day,now()) from test_table where day>='2018-06-01' group by 1
-----Original Message----- From: skyyws [mailto:sky...@163.com] Sent: Tuesday, June 05, 2018 9:49 AM To: dev Subject: Re: A question about AnalysisException Here is the corret result of the sql below: select datediff(day,now()) from test_table where day>='2018-06-01' group by datediff(day,now()); | datediff(day, now()) | +----------------------+ | -4 | | 0 | | -3 | | -1 | | -2 | 2018-06-05 skyyws 发件人:skyyws <sky...@163.com> 发送时间:2018-06-05 21:44 主题:A question about AnalysisException 收件人:"dev@impala.apache.org"<dev@impala.apache.org> 抄送: Hello all, Recently, I found a probelm when I used impala to do ad-hoc analysis. When I executed the sql below: select datediff(day,now()) from test_table where day>=(now() - interval 5 days) group by datediff(day,now()); I got an exception like this: ----------------------------------------------------------------------------------------------------------------------------- Status: AnalysisException: select list expression not produced by aggregation output (missing from GROUP BY clause?): datediff(day, TIMESTAMP '2018-06-05 21:24:28.403393000') ----------------------------------------------------------------------------------------------------------------------------- and if I execute this sql: select datediff(day,now()) from test_table where day>='2018-06-01' group by datediff(day,now()); I got the correct result like this: This situation happend both on 2.10.0 and 3.0.0 version. I'm not sure it's a bug or it's just designed like this, anyone who can give me some advice? Thanks. (test_table is stored as parquet, and day is the partition column, string type.) -------------------------------------------------------------------------------- 2018-06-05 skyyws ________________________________ Confidentiality Note: This e-mail, and any attachment to it, contains privileged and confidential information intended only for the use of the individual(s) or entity named on the e-mail. If the reader of this e-mail is not the intended recipient, or the employee or agent responsible for delivering it to the intended recipient, you are hereby notified that reading it is strictly prohibited. If you have received this e-mail in error, please immediately return it to the sender and delete it from your system. Thank you