Запрос Hive, чтобы узнать, в каком месяце самая высокая зарплата по отделам
0 down vote favorite my input Department Jan_sal Feb_sal Mar_sal civil 1 5 5 mech 2 7 2 civil 3 8 9 mech 6 4 4 mech 5 6 6 Elec 4 5 3 mech 8 5 5 Elec 8 5 4 Expected output Civil Mar Mech Feb Elec Jan
Что я уже пробовал:
Я новичок в улье.
Но я пытаюсь написать подзапрос, и я попробовал ниже
select department ,sort_array ( array ( struct(-sum(Jan_sal),'Jan') ,struct(-sum(Feb_sal),'Feb') ,struct(-sum(Mar_sal),'Mar') ) )[0].col2 from mytable group by department
но я получаю ошибку типа --->
Argument type mismatch ''mar_sal'': Argument 1 of function SORT_ARRAY must be array<PRIMITIVE>, but array<struct<col1:bigint,col2:string>> was found.
Richard MacCutchan
Сообщение об ошибке говорит вам, в чем проблема, вам нужно изменить оператор массива, чтобы он соответствовал правилам.