【发布时间】:2018-09-14 18:41:07
【问题描述】:
我正在尝试为列hash 的每个不同值检索一个随机行。我还需要 dt 列。
到目前为止,我遇到了这个不起作用的查询:
INSERT OVERWRITE TABLE t PARTITION(dt)
SELECT hash, dt FROM (
SELECT hash, RAND() as r, dt FROM t1
UNION
SELECT hash, RAND() as r, dt FROM t2
) result
WHERE r IN (SELECT MAX(r) FROM result WHERE hash=result.hash);
由于在 FROM 子句 FROM result 中使用它,查询失败并出现错误 Table not found 'result'。
如何修复此查询或在此处使用什么其他方法?
【问题讨论】: