SQL查询来计算学生人口统计?

时间:2020-08-25 12:17:49

标签: sql oracle

我只有一张桌子,叫学生。我有学生证及其种族/民族的专栏。

这很简单,但我想不通:我需要计算每个种族/民族的学生人数和百分比。

因此,最终,我想要一个表,其中有一列作为种族/族裔,另一列是该类别的学生人数,最后一列是占总数的百分比。

我知道如何分别计算每个种族/民族,但是有没有办法像这样对一个查询进行全部计算?

1 个答案:

答案 0 :(得分:1)

一种方法是:

select ethnicity, count(*) as num_students
       count(*) * 1.0 / sum(count(*)) over () as ratio
from t
group by ethnicity;

* 1.0是因为某些数据库执行整数除法。