如何将性别分为男性和女性两列

时间:2016-08-22 13:28:04

标签: sql m

我有一个简单的表学生,其中包含两个列名,性别为m或f。

我必须计算表中男性和女性的数量并将其显示在两个不同的列中。

结果应该是:

|Male |female |
| 5   |   4   |

3 个答案:

答案 0 :(得分:3)

SELECT SUM(gender='m') AS male, SUM(gender='f') AS female FROM students;

说明:比较gender='m'返回一个整数结果(1表示匹配,0表示nomatch),sum()将它们相加。

答案 1 :(得分:2)

我不知道m,但标准的SQL是:

SELECT 
    SUM(CASE gender WHEN 'm' THEN 1 ELSE 0 END) AS Male,
    SUM(CASE gender WHEN 'f' THEN 1 ELSE 0 END) AS Female
FROM student

答案 2 :(得分:1)

SELECT COUNT(female), COUNT(male) FROM student;

这应该这样做。

编辑:我只是重新阅读您的问题,并认为您的意思是只有一个“名称”和“性别”列,而不是“男性”和“女性”列。在这种情况下,使用SUM()函数将起作用。 (正如其他人已经回答的那样)