How to calculate ratio using sql query?
mysql, oracle, sql-server
Solution
SQL Fiddle
MySQL 5.5.32 Schema Setup:
CREATE TABLE table1
(`ID` int, `Name` varchar(4), `Department` varchar(4), `Gender` varchar(6))
;
INSERT INTO table1
(`ID`, `Name`, `Department`, `Gender`)
VALUES
(1, 'Crib', 'MA', 'MALE'),
(2, 'Lucy', 'Bsc', 'FEMALE'),
(3, 'Phil', 'Bcom', 'MALE'),
(4, 'Ane', 'MA', 'FEMALE')
;
Query 1:
SELECT sum(case when `Gender` = 'MALE' then 1 else 0 end)/count(*) as male_ratio,
sum(case when `Gender` = 'FEMALE' then 1 else 0 end)/count(*) as female_ratio
FROM table1
Results:
| MALE_RATIO | FEMALE_RATIO |
|------------|--------------|
| 0.5 | 0.5 |
Problem
I have a table like below: ``` ID Name Department Gender 1 Crib MA MALE 2 Lucy Bsc FEMALE 3 Phil Bcom MALE 4 Ane MA FEMALE ``` I have 1000 row of records like this. I want to find the ratio from column Gender( MALE & FEMALE) of all students. I need a query to perform this.