此查询的语法是否有任何错误,该查询在其他行中查找具有多个值的唯一值?
Select Distinct Ss.`cd`, Ss.`cd`
From nit.assrr As Ss
Join (
Select `cd`
From nit.assrr
Group By `cd`
Having Count(Distinct `cd`) > 1
) As Y
On Ss.`cd` = Y.`cd`
我收到此错误:
[Cloudera]HiveJDBCDriver 处理查询/语句时出错。
错误代码:2,SQL 状态:处理语句时出错:失败:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 2,查询:.. 我的查询
我怀疑您使用的是 0.13.0 之前的 Hive 版本。在那种情况下,问题是
AS
为子查询提供别名时的关键字。来自 HiveQL 文档子查询中的
FROM
子句:因此,有效的语法是:
关于查询的语义。我不确定实际问题是什么,但无论表中的数据是什么,此查询都保证返回 0 行。
COUNT(DISTINCT cd)
当你有时将为 1,GROUP BY cd
因此该HAVING
子句将FALSE
始终存在,Y
子查询将有 0 行。