I need to transpose columns to rows in postgres, below is the requirement. Any help is appreciated.
Source table/data :
id class-1-male class-1-female class-2-male class-2-female class-3-male class-3-female
1 1 1 11 7 0 9
2 11 31 6 7 40 92
3 15 31 8 37 30 91
4 11 13 50 17 10 19
I want data in below format:
id class-type male female
1 class-1 1 1
2 class-1 11 31
3 class-1 15 31
4 class-1 11 13
1 class-2 11 7
2 class-2 6 7
3 class-2 8 37
4 class-2 50 17
1 class-3 0 9
2 class-3 40 92
3 class-3 30 91
4 class-3 10 19
crosstab()function in thetablefunccontrib module: postgresql.org/docs/current/static/tablefunc.html