Поверните строку данных в заголовок, используя SQL in Postgresql - PullRequest
0 голосов
/ 21 апреля 2020

Я получаю этот результат, используя SQL запрос:

NBR_TYPE         Count
-----------------------
0021              20
0022              19
0023              13 

Но я хочу получить такой результат:

0021           0022         0023
---------------------------------
20              19          13

Может кто-нибудь помочь мне добиться этого с помощью Posgre SQL и спасибо.

1 Ответ

2 голосов
/ 21 апреля 2020

Если у вас есть предопределенный список значений, вы можете использовать условное агрегирование для поворота:

select
    max(count) filter(where nbr_type = '0021') "0021",
    max(count) filter(where nbr_type = '0022') "0022",
    max(count) filter(where nbr_type = '0023') "0023"
from mytable

Это предполагает, что каждый nbr_type отображается только в одной строке; в противном случае вы, возможно, захотите изменить max() на более значимую функцию агрегирования, например sum() или avg().

...