2 结果百分比相同 table
2 result perecentage with the same table
select AGE,
(count (case when age > 22 then name end)*100.0/count(name)) as percentage
from student;
结果
20 30.0
select name, age,
(select 100*age/sum(age) over () as percentage from student) as percentage ,
(count(case when age > 22 then name end )*100.0/ count (name)) as Total_Perecentage
from student
WHERE age > 22
GROUP BY 1,2;
结果
Elis 27 9 100.0
Mice 23 9 100.0
Sara 25 9 100.0
我的问题如何将 Total_percentage 从 100% 更新到 30%(所有结果都在一个 table 中)作为第一个查询
简单来说,我要说的是30%是所有10个学生中22岁以上的3个名字的总百分比。
Result
使用在 table 上有条件聚合的子查询更容易:
SELECT name, age,
(SELECT 100 * AVG(age > 22) FROM student) AS Total_Perecentage
FROM student
WHERE age > 22
参见demo。
结果:
name
age
Total_Perecentage
Sara
25
30
Mice
23
30
Elis
27
30
select AGE,
(count (case when age > 22 then name end)*100.0/count(name)) as percentage
from student;
结果 20 30.0
select name, age,
(select 100*age/sum(age) over () as percentage from student) as percentage ,
(count(case when age > 22 then name end )*100.0/ count (name)) as Total_Perecentage
from student
WHERE age > 22
GROUP BY 1,2;
结果
Elis 27 9 100.0
Mice 23 9 100.0
Sara 25 9 100.0
我的问题如何将 Total_percentage 从 100% 更新到 30%(所有结果都在一个 table 中)作为第一个查询
简单来说,我要说的是30%是所有10个学生中22岁以上的3个名字的总百分比。
Result
使用在 table 上有条件聚合的子查询更容易:
SELECT name, age,
(SELECT 100 * AVG(age > 22) FROM student) AS Total_Perecentage
FROM student
WHERE age > 22
参见demo。
结果:
name age Total_Perecentage Sara 25 30 Mice 23 30 Elis 27 30