I get this result using SQL request:
NBR_TYPE Count ----------------------- 0021 20 0022 19 0023 13
But i want result like this :
0021 0022 0023 --------------------------------- 20 19 13
Can anyone help me to achieve this using PosgreSQL and thanks.
Advertisement
Answer
If you have a predefined list of values, you can use conditional aggregation to pivot:
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
This assumes that each nbr_type
appears in just one row; otherwise, you possibly want to change the max()
to a more meaningful aggregation function, such as sum()
or avg()
.