包含Group By的配置单元子查询 我是蜂巢的新手,但我认为自己是SQL的中间人。我得到的错误如下所示。我尝试过更改、添加、删除括号及其位置,以及添加和删除子查询别名。似乎没有什么能消除这个错误。谢谢你的帮助 org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException line 16:11 missing ) at 'testing' near ')' in expression specification
子查询和额外查询中缺少SELECT。参见代码中标记为-1、2和3的注释:包含Group By的配置单元子查询 我是蜂巢的新手,但我认为自己是SQL的中间人。我得到的错误如下所示。我尝试过更改、添加、删除括号及其位置,以及添加和删除子查询别名。似乎没有什么能消除这个错误。谢谢你的帮助 org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: ParseException line 16:11 missing ) at 'testing' near ')' in expression specification,hive,Hive,子查询和额外查询中缺少SELECT。参见代码中标记为-1、2和3的注释: SELECT bcity, bstate FROM( SELECT bcity, bstate, DENSE_RANK() OVER (ORDER BY total_double_triples DESC) as ranked FROM ( SELECT bcity, bstate, SUM(doubles+triples) as total_double_triples
SELECT bcity, bstate FROM(
SELECT bcity, bstate, DENSE_RANK() OVER (ORDER BY total_double_triples DESC) as ranked
FROM
( SELECT bcity, bstate, SUM(doubles+triples) as total_double_triples
FROM
(--There should be SELECT ... FROM ---------------------------------- 1st
( ----------Remove this line ------------------------------------ 2nd
(SELECT id as b_id, doubles, triples
FROM batting) batting_data
JOIN
(SELECT id, bcity, bstate
FROM master
WHERE NOT ISNULL(bcity) AND NOT ISNULL(bstate)
) master_join
ON master_join.id = batting_data.b_id ) --Remove extra)------3rd
) testing GROUP BY (bcity, bstat)
) total_group_by
) subquery WHERE subquery.ranked <= 5 ;
必须删除GROUPBY语句之前的别名,并修复bstate字段名中的类型。感谢所有提出的解决方案
SELECT bcity, bstate FROM(
SELECT bcity, bstate, DENSE_RANK() OVER (ORDER BY total_double_triples DESC) as ranked FROM (
SELECT bcity, bstate, SUM(doubles+triples) as total_double_triples FROM (
(SELECT id as b_id, doubles, triples FROM batting) batting_data
JOIN
(SELECT id, bcity, bstate FROM master WHERE NOT ISNULL(bcity) AND NOT ISNULL(bstate)) master_join
ON master_join.id = batting_data.b_id
) GROUP BY bcity, bstate
) group_by_totals
) subquery WHERE subquery.ranked <= 5 ;
我想你只需要在master_join.id=batting_data.b_id之后再添加一个。@BarbarosÖzhan谢谢你的建议。但是,我所有的括号都正确地关闭了。我是否需要添加一个附加的左括号?
SELECT bcity, bstate FROM(
SELECT bcity, bstate, DENSE_RANK() OVER (ORDER BY total_double_triples DESC) as ranked FROM (
SELECT bcity, bstate, SUM(doubles+triples) as total_double_triples FROM (
(SELECT id as b_id, doubles, triples FROM batting) batting_data
JOIN
(SELECT id, bcity, bstate FROM master WHERE NOT ISNULL(bcity) AND NOT ISNULL(bstate)) master_join
ON master_join.id = batting_data.b_id
) GROUP BY bcity, bstate
) group_by_totals
) subquery WHERE subquery.ranked <= 5 ;