Я бы хотел заказать значения в моей таблице определенным образом.
У меня есть исходная таблица (TestTable) с данными ниже
groupId,Name,subjectCode,PA
1,LEADER,T,67
1,Prem,P,67
1,Prem,T,89
1,Anjali,T,124
1,LEADER,P,234
1,Anjali,P,234
1,Anjali,NP,45
1,Prem,NP,23
1,LEADER,NP,123
и мои ожидаемые результаты для новой таблицыTestSort - это
1,LEADER,NP,123
1,LEADER,P,234
1,LEADER,T,67
1,Anjali,NP,45
1,Anjali,P,234
1,Anjali,T,124
1,Prem,NP,23
1,Prem,P,67
1,Prem,T,89
Мне нужно заказать первые три столбца в asc, а также я должен поставить запись лидера наверху сам.
Я пытался сделать то же самое, но яя не получаю ожидаемых результатов
вставить таблицу перезаписи TestSort select * из последовательности TestTable по groupId asc, Name asc, subjectCode asc;
Результат, который я получаю,
groupId,Name,subjectCode,PA
1,LEADER,T,67
1,LEADER,NP,123
1,Anjali,NP,45
1,Anjali,P,234
1,LEADER,P,234
1,Anjali,T,124
1,Prem,T,89
1,Prem,NP,23
1,Prem,P,67
Я где-то что-то не так делаю.
TRAIL 1
insert overwrite table TestSort select * from TestTable
order by
case when name = 'LEADER' then '0' else '1' end,
groupid,
name,
subjectcode;;
select * from TestSort;
Результат запроса выше
groupId,Name,subjectCode,PA
1,Anjali,NP,45
1,LEADER,T,67
1,Prem,T,89
1,Prem,P,67
1,LEADER,NP,123
1,Prem,NP,23
1,Anjali,T,124
1,Anjali,P,234
1,LEADER,P,234
Я ожидаю, чтобы вставить значения в новую таблицу TestSort.Запрос на выборку дает ожидаемый результат, но как только я вставляю значения в TestSort, порядок меняется.