You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by yo...@wipro.com on 2012/08/10 08:53:17 UTC
Group by clause gives error
Hi all,
I have a dummy table having values
date name type
------------------------------
01 x a
01 y a
01 z b
02 u c
02 x d
03 t a
I want to operate operation that
count the name and type on the same date and order by date.
I wrote this query
select date, count(*), name from demotable group by date;
its throws error:
Error in semantic analysis: Expression not in GROUP BY key 'name' (Although this query works in Mysql )
Please suggest
Thanks & Regards
Yogesh Kumar
Please do not print this email unless it is absolutely necessary.
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments.
WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.
www.wipro.com
Re: Group by clause gives error
Posted by MiaoMiao <li...@gmail.com>.
You need to apply an aggregate function to NAME since it's not used as
a GROUP BY key.
Without an aggregate function, your query will be confusing. I mean, what does
`select name from sometable group by date;`
mean anyway?
Try
select date, count(type), count(name) from demotable group by date;
On Fri, Aug 10, 2012 at 2:53 PM, <yo...@wipro.com> wrote:
> Hi all,
>
> I have a dummy table having values
>
>
> date name type
> ------------------------------
> 01 x a
> 01 y a
> 01 z b
> 02 u c
> 02 x d
> 03 t a
>
>
> I want to operate operation that
>
> count the name and type on the same date and order by date.
>
> I wrote this query
>
> select date, count(*), name from demotable group by date;
>
> its throws error:
>
> Error in semantic analysis: Expression not in GROUP BY key 'name'
> (Although this query works in Mysql )
>
>
> Please suggest
>
> Thanks & Regards
> Yogesh Kumar
>
>
>
>
>
> Please do not print this email unless it is absolutely necessary.
>
> The information contained in this electronic message and any attachments to
> this message are intended for the exclusive use of the addressee(s) and may
> contain proprietary, confidential or privileged information. If you are not
> the intended recipient, you should not disseminate, distribute or copy this
> e-mail. Please notify the sender immediately and destroy all copies of this
> message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient should
> check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus transmitted
> by this email.
>
> www.wipro.com