我有一个如下表:

ID   Name   Department Gender
1    Crib     MA        MALE
2    Lucy     Bsc       FEMALE
3    Phil     Bcom      MALE
4    Ane      MA        FEMALE

我有1000行这样的记录。我想从所有学生的性别(男性和女性)栏中找到比率。

我需要一个查询来执行此操作。

最佳答案

SQL Fiddle

MySQL 5.5.32模式设置:

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')
;

查询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 |

关于mysql - 如何使用sql查询来计算比率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27253333/

10-13 03:29