Выбор 5 лучших строк с отличным значением в одном столбце

#hive #hiveql #hdp

#улей #hiveql #hdp

Вопрос:

Я пытаюсь получить пять лучших состояний с самыми высокими измерениями, связанными с конкретным measureid. Моя проблема в том, что я пытаюсь извлечь ОТДЕЛЬНЫЕ состояния с самыми высокими измерениями.

Мой запрос:

 select distinct measureid, reportyear, statename, max(value)
from air_quality
where measureid = 87
and reportyear >= 2008
and reportyear <= 2013
group by measureid, reportyear, statename, value
limit 5
 

Я ожидаю, что результат будет с РАЗНЫМИ именами состояний, т. Е. Я не хочу, чтобы он повторялся. Если в Калифорнии самое высокое значение за один год, оно больше не повторится.

В настоящее время он отображается как «… Калифорния, 22 ; … Калифорния, 22 ; … Калифорния, 19 ; … Аризона, 18 ; … Калифорния, 18»

Комментарии:

1. поделитесь своей схемой и некоторыми образцами данных, также вы выполняете DISTINCT measureid, а не DISTINCT statename

2. @PabloPazos Набор данных можно найти на catalog.data.gov/dataset /… через csv-файл.

3. вы должны опубликовать полный вопрос без внешних ссылок, также проверьте, где вы указали distinct , должно быть в statename, потому что это то, что вы хотите.

4. Пожалуйста, предоставьте пример входных данных (включая все столбцы в запросе) и желаемый результат