Как транспонировать таблицу в presto?

У меня есть вопрос, в результате

A  |  B | C | D | E
2. |  3 | 10| 25| 60

Как преобразовать его в

Reason | Percentage
A.     | 2
B.     | 3
C.     | 10
D.     | 25
E.     | 60

(не обращайте внимания на горшки)

Спасибо

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать использовать функцию НЕСТ.

SELECT v.*
FROM T
CROSS JOIN UNNEST(ARRAY[
 ROW('A', A), 
 ROW('B', B), 
 ROW('C', C), 
 ROW('D', D),
 ROW('E', E)
]) AS v(Reason, Percentage);

другой способ - использовать UNION ALL

SELECT 'A' Reason , A Percentage FROM T
UNION ALL
SELECT 'B' Reason , B Percentage FROM T
UNION ALL
SELECT 'C' Reason , C Percentage FROM T
//....

AFAIK unnest поддерживает несколько массивов, так что вы можете сделать unnest(array['A', 'B', ...], array[A, B, ...]).

Guru Stron 30.03.2022 14:23

Другие вопросы по теме