如果您的数据库有一个Class表,而Student表和Class有很多学生。你想创建一个查询来查找适合特定范围的所有学生成绩你会怎么做?为了保持简单,可以说一个班级有10名学生,他们的成绩是:
100,97,96,95,90,85,80,75,74和70
你想要在以下范围内分级:
等级100-90,等级89-80和等级79-70
我希望查询中的结果列为:
[Grades 100-90] [Grades 89-80] [Grades 79-70]
[ 5 ] [ 2 ] [ 3 ]
怎么可以这样做?查询会是什么样的?
答案 0 :(得分:1)
您可以使用条件聚合执行此操作:
select sum(iif(grade between 90 and 100, 1, 0)) as grades_100_90,
sum(iif(grade between 80 and 89, 1, 0)) as grades_80_89,
. . .
from t;