除以子查询或在SQL中查找一定比例的类别

时间:2018-02-01 05:48:38

标签: mysql sql count

我有一个与此类似的数据集:

Gender Survival
Male      0 
Female     1
Male      0
Male      1
Female     0

我需要找到一部分按性别存活的人。目前我有以下查询:
select gender, count(gender) as 'Survived' from my_table where survival = 1 group by gender;

现在我需要添加一个子查询,将子计数除以每个性别的总人数。所以基本上我需要这样的东西:

Male 33% Female 50%

2 个答案:

答案 0 :(得分:3)

您可以使用SUMCOUNT获取平均值

SELECT Gender, ROUND(SUM(Survival = 1) / COUNT(*), 2) * 100
FROM my_table
GROUP BY Gender

这是DEMO

答案 1 :(得分:0)

按性别,生存率选择性别,(计数(生存)/计数(*)* 100)作为table_name组的百分比;