there should be no limitation AFAIK.   example + error message is always
helpful - even if you might regret it. :)


On Fri, Aug 30, 2013 at 8:16 AM, Jérôme Verdier
<verdier.jerom...@gmail.com>wrote:

> Hi,
>
> Is it possible to have multiple conditions in Having clause ?
>
> I get an error when i'm trying this.
>
> Thanks a lot.
>
>
> 2013/8/30 Jérôme Verdier <verdier.jerom...@gmail.com>
>
>> Thanks Stephen,
>>
>> Yes i realise that it was so a stupid question....Maybe i wasn't really
>> awaked this morning ;-)
>>
>> now it's working well.
>>
>> Thanks everyone.
>>
>>
>> 2013/8/30 Stephen Sprague <sprag...@gmail.com>
>>
>>> awright Jerome.  look closely at the error message. you can figure this
>>> one out.
>>>
>>>
>>> On Fri, Aug 30, 2013 at 1:17 AM, Jérôme Verdier <
>>> verdier.jerom...@gmail.com> wrote:
>>>
>>>> Ok, thanks for this solution.
>>>>
>>>> Unfortunately, i have rewrited my script like this :
>>>>
>>>> INSERT INTO TABLE default.THM_CA_RGRP_PRODUITS_SEM
>>>>
>>>>         SELECT
>>>>         '${hiveconf:in_co_societe}'               as co_societe,
>>>>         '${hiveconf:in_co_an_semaine}'            as co_an_semaine,
>>>>         a.type_entite                             as type_entite,
>>>>         a.code_entite                             as code_entite,
>>>>         a.type_rgrp_produits                      as type_rgrp_produits,
>>>>         a.co_rgrp_produits                        as co_rgrp_produits,
>>>>         SUM(a.MT_CA_NET_TTC)                      as MT_CA_NET_TTC,
>>>>         SUM(a.MT_OBJ_CA_NET_TTC)                  as MT_OBJ_CA_NET_TTC,
>>>>         SUM(a.NB_CLIENTS)                         as NB_CLIENTS,
>>>>         SUM(a.MT_CA_NET_TTC_COMP)                 as MT_CA_NET_TTC_COMP,
>>>>         SUM(a.MT_OBJ_CA_NET_TTC_COMP)             as
>>>> MT_OBJ_CA_NET_TTC_COMP,
>>>>         SUM(a.NB_CLIENTS_COMP)                    as NB_CLIENTS_COMP
>>>>       from
>>>>         default.THM_CA_RGRP_PRODUITS_JOUR a
>>>>       JOIN default.CALENDRIER b
>>>>       -- A verifier
>>>>       WHERE a.co_societe = '${hiveconf:in_co_societe}'
>>>>
>>>>       AND ('${hiveconf:flg_reprise_entite}' = 0 OR a.type_entite<>'MAG')
>>>>       GROUP BY
>>>>         a.type_entite,
>>>>         a.code_entite,
>>>>         a.type_rgrp_produits,
>>>>         a.co_rgrp_produits;
>>>>        HAVING
>>>>         a.dt_jour >= MIN(b.dt_jour)
>>>>         AND a.dt_jour < MIN(b.dt_jour)+1
>>>>
>>>> And i have a new error :
>>>>
>>>> FAILED: ParseException line 2:6 cannot recognize input near 'HAVING'
>>>> 'a' '.'
>>>>
>>>> My Hive version is 0.11 and HAVING function have been implemented in
>>>> 0.7 so it would work fine.
>>>>
>>>>
>>>>
>>>> 2013/8/29 Stephen Sprague <sprag...@gmail.com>
>>>>
>>>>> indeed. you nailed it.
>>>>>
>>>>>
>>>>> On Thu, Aug 29, 2013 at 11:53 AM, John Meagher <john.meag...@gmail.com
>>>>> > wrote:
>>>>>
>>>>>> Aggregate functions need to go in a HAVING clause instead of the WHERE
>>>>>> clause.  WHERE clauses are applied prior to aggregation, HAVING is
>>>>>> applied post aggregation.
>>>>>>
>>>>>> select ...
>>>>>> from ...
>>>>>> where  some row level filter
>>>>>> group by ...
>>>>>> having some aggregate level filter
>>>>>>
>>>>>>
>>>>>> On Thu, Aug 29, 2013 at 2:49 PM, Jason Dere <jd...@hortonworks.com>
>>>>>> wrote:
>>>>>> > Looks like the issue is the use of min() within the WHERE clause -
>>>>>> the place
>>>>>> > where the exception is being thrown has the following comment:
>>>>>> >         // UDAF in filter condition, group-by caluse, param of
>>>>>> funtion, etc.
>>>>>> >
>>>>>> >
>>>>>> > On Aug 29, 2013, at 3:01 AM, Jérôme Verdier <
>>>>>> verdier.jerom...@gmail.com>
>>>>>> > wrote:
>>>>>> >
>>>>>> > Hi everybody,
>>>>>> >
>>>>>> > I am coding some HiveQL script to do some calculations.
>>>>>> >
>>>>>> > I have a problem with the min() function.
>>>>>> >
>>>>>> > My hive script is below :
>>>>>> >
>>>>>> > INSERT INTO TABLE default.THM_CA_RGRP_PRODUITS_SEM
>>>>>> >
>>>>>> >         SELECT
>>>>>> >         '${hiveconf:in_co_societe}'               as co_societe,
>>>>>> >         '${hiveconf:in_co_an_semaine}'            as co_an_semaine,
>>>>>> >         a.type_entite                             as type_entite,
>>>>>> >         a.code_entite                             as code_entite,
>>>>>> >         a.type_rgrp_produits                      as
>>>>>> type_rgrp_produits,
>>>>>> >         a.co_rgrp_produits                        as
>>>>>> co_rgrp_produits,
>>>>>> >         SUM(a.MT_CA_NET_TTC)                      as MT_CA_NET_TTC,
>>>>>> >         SUM(a.MT_OBJ_CA_NET_TTC)                  as
>>>>>> MT_OBJ_CA_NET_TTC,
>>>>>> >         SUM(a.NB_CLIENTS)                         as NB_CLIENTS,
>>>>>> >         SUM(a.MT_CA_NET_TTC_COMP)                 as
>>>>>> MT_CA_NET_TTC_COMP,
>>>>>> >         SUM(a.MT_OBJ_CA_NET_TTC_COMP)             as
>>>>>> MT_OBJ_CA_NET_TTC_COMP,
>>>>>> >         SUM(a.NB_CLIENTS_COMP)                    as NB_CLIENTS_COMP
>>>>>> >       from
>>>>>> >         default.THM_CA_RGRP_PRODUITS_JOUR a
>>>>>> >       JOIN default.CALENDRIER b
>>>>>> >       -- A verifier
>>>>>> >       WHERE CAST(a.dt_jour AS TIMESTAMP) >=
>>>>>> > CAST(min(UNIX_TIMESTAMP(b.dt_jour)) AS BIGINT)
>>>>>> >       AND CAST(a.dt_jour AS TIMESTAMP) < CAST(min(b.dt_jour)+1 AS
>>>>>> TIMESTAMP)
>>>>>> >       AND a.co_societe = '${hiveconf:in_co_societe}'
>>>>>> >       AND ('${hiveconf:flg_reprise_entite}' = 0 OR
>>>>>> a.type_entite<>'MAG')
>>>>>> >       GROUP BY
>>>>>> >         a.type_entite,
>>>>>> >         a.code_entite,
>>>>>> >         a.type_rgrp_produits,
>>>>>> >         a.co_rgrp_produits;
>>>>>> >
>>>>>> > And, when i try to launch this, i get this error :
>>>>>> >
>>>>>> > FAILED: SemanticException [Error 10128]: Line 20:62 Not yet
>>>>>> supported place
>>>>>> > for UDAF 'min'
>>>>>> >
>>>>>> > Obviously, there is a problem with min() function.
>>>>>> >
>>>>>> > How can i pass through this error?
>>>>>> >
>>>>>> > Thanks for your help
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > CONFIDENTIALITY NOTICE
>>>>>> > NOTICE: This message is intended for the use of the individual or
>>>>>> entity to
>>>>>> > which it is addressed and may contain information that is
>>>>>> confidential,
>>>>>> > privileged and exempt from disclosure under applicable law. If the
>>>>>> reader of
>>>>>> > this message is not the intended recipient, you are hereby notified
>>>>>> that any
>>>>>> > printing, copying, dissemination, distribution, disclosure or
>>>>>> forwarding of
>>>>>> > this communication is strictly prohibited. If you have received this
>>>>>> > communication in error, please contact the sender immediately and
>>>>>> delete it
>>>>>> > from your system. Thank You.
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Jérôme VERDIER*
>>>> 06.72.19.17.31
>>>> verdier.jerom...@gmail.com
>>>>
>>>>
>>>
>>
>>
>> --
>> *Jérôme VERDIER*
>> 06.72.19.17.31
>> verdier.jerom...@gmail.com
>>
>>
>
>
> --
> *Jérôme VERDIER*
> 06.72.19.17.31
> verdier.jerom...@gmail.com
>
>

Reply via email to