1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| With MaTable AS
(
select '2008-2009' as peracad, 'BQ/FI/AS' as branch, 'F' as sex from dual union all
select '2008-2009' , 'GE DIST/COM' , 'M' from dual union all
select '2008-2009' , 'GE DIST/COM' , 'M' from dual union all
select '2008-2009' , 'GE DIST/COM' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'M' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual union all
select '2008-2009' , 'TRANSPOR' , 'F' from dual
)
SELECT
peracad AS periode_academique,
branch AS secteur,
sum(CASE WHEN sex = 'M' THEN 1 ELSE 0 END) AS nb_garcon,
round(sum(CASE WHEN sex = 'M' THEN 1 ELSE 0 END) * 100 / sum(count(*)) over(partition by peracad), 2) AS pct_garcon,
sum(CASE WHEN sex = 'F' THEN 1 ELSE 0 END) AS nb_fille,
round(sum(CASE WHEN sex = 'F' THEN 1 ELSE 0 END) * 100 / sum(count(*)) over(partition by peracad), 2) AS pct_fille
FROM
MaTable
GROUP BY
peracad,
branch
ORDER BY
peracad ASC,
branch ASC;
PERIODE_ACADEMIQUE SECTEUR NB_GARCON PCT_GARCON NB_FILLE PCT_FILLE
2008-2009 BQ/FI/AS 0 0 1 4.55
2008-2009 GE DIST/COM 2 9.09 1 4.55
2008-2009 TRANSPOR 7 31.82 11 50 |
Partager