虽然我尝试使用分区而不是Hive,

时间:2013-09-27 01:05:55

标签: sql hive window-functions

SELECT
    prc.user_key,
    percentile(P.price, 0.5) OVER (PARTITION BY P.user_key) as median_price       
    FROM
    (
     SELECT 
     vfc.user_key,
     vfc.order_id,
     MIN(vddo.cc)  price
     FROM
     td_b.mv_a vfc
     JOIN
     td_b.dim_deal_option vddo
     ON vfc.d_key = vddo.d_key
     WHERE
     vfc.action = 'sale'
     GROUP BY  vfc.user_key, vfc.order_id
    ) prc limit 100;

给出错误“FAILED:Parse Error:第4:13行不匹配的输入'('期望从FROM子句中的'OVER'附近” 在蜂巢。当我删除百分位数和分区查询工作正常,任何想法?我尝试count()而不是百分位数,仍然是相同的错误。

2 个答案:

答案 0 :(得分:1)

百分位数/分区行将子查询别名为“P”(P.price和P.user_key),但子查询为“prc”。有时坏的别名会抛出该错误

答案 1 :(得分:0)

P.Price和P.user_key不存在。