Как сделать столбец и строку в качестве заголовка в HiveQL - PullRequest
0 голосов
/ 17 марта 2020

У меня есть вопрос об установке столбца и строки в качестве заголовка в HiveQL. Итак, мой ожидаемый результат выглядит так (Таблица 1):

Expected result

Но то, что я мог сделать до сих пор, так же, как это (Таблица 2):

Result table

с этим запросом:

SELECT
sum(case when grade ='A' and class = 'I' then 1 else 0 end) as 'Grade_A_I',
sum(case when grade ='B' and class = 'I' then 1 else 0 end) as 'Grade_B_I',
sum(case when grade ='C' and class = 'I' then 1 else 0 end) as 'Grade_C_I',
sum(case when grade ='A' and class = 'II' then 1 else 0 end) as 'Grade_A_II', etc...
FROM
grade_table
where
    .......

Я не нашел ссылок на Inte rnet, чтобы сделать это , поэтому мне просто интересно, есть ли какие-нибудь способы достижения Таблицы 1 вместо Таблицы 2?

Действительно ценю любые отзывы от всех вас, заранее спасибо!

1 Ответ

0 голосов
/ 17 марта 2020

что-то вроде этого будет работать?

select 
case when class = 'I' then 'Class I'
when class = 'II' then 'Class II' end as class,
sum(case when grade ='A' then 1 else 0 end) as Grade_A,
sum(case when grade ='B' then 1 else 0 end) as Grade_B,
sum(case when grade ='C' then 1 else 0 end) as Grade_C
from 
grade_table
group by 1
union all
select 'Total' as class,
sum(case when grade ='A' then 1 else 0 end) as Grade_A,
sum(case when grade ='B' then 1 else 0 end) as Grade_B,
sum(case when grade ='C' then 1 else 0 end) as Grade_C
from 
grade_table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...