我有一个包含名为Grade
的列的数据库,Grade
中的所有成绩都是A
或B
或C
:
Grade = [A,A,A,B]
我想做的是分别计算年级和Grade
的每个类别的总数,因此输出将类似于:
Total Grades | A | B | C
-------------------------
4 | 3 | 1 | 0
我可以使用多个SELECT
和联接来执行此操作,但是最佳方法是什么?请注意,我要在一行中表示输出。
您可以使用条件聚合:
select count(*), sum(grade = 'A') as a, sum(grade = 'B') as b,
sum(grade = 'C') as c
from t;