Я хочу получить сводные данные о первом квартиле для таблицы в Hive. Ниже приведен запрос, чтобы получить максимальное количество просмотров в квартили:Использование Hive ntile приводит к тому, что статья
SELECT NTILE(4) OVER (ORDER BY total_views) AS quartile, MAX(total_views)
FROM view_data
GROUP BY quartile
ORDER BY quartile;
И этот запрос, чтобы получить имена всех людей, которые находятся в первой квартили:
SELECT name, NTILE(4) OVER (ORDER BY total_views) AS quartile
FROM view_data
WHERE quartile = 1
Я получаю эта ошибка для обоих запросов:
Invalid table alias or column reference 'quartile'
Как я могу ссылаться на ntile
результаты в пункте where
или group by
пункта?
Я не очень понимаю, что вы имеете в виду неоднозначности, вызванной составных сказуемых, могли бы вы привести пример, пожалуйста? – Nadine
SELECT col1 ОТ T1 ГДЕ ROW_NUMBER() OVER (ORDER BY col1) <= 3 И col1> '100' Что бы порядок работы здесь? Если сначала следует выполнить команду col1> '100' предиката или должна быть нумерация строк. – invoketheshell