Я пытаюсь получить случайную строку для каждого отдельного значения для столбца 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);
Запрос завершается ошибкой Table not found 'result'
из-за его использования в предложении FROM FROM result
.
Как я могу исправить этот запрос или какой другой подход использовать здесь?