我有一个这样的数据库表:
ID NAMEID ClASSID SEX
---------------------------------
1 1 1 0
2 1 1 1
3 1 1 1
4 2 2 1
5 2 2 0
6 2 2 1
7 2 2 1
请帮助我,如何获得结果,如下所示:(在Access中使用查询)
NameID ClassID SEX MALE FEMALE
--------------------------------------------
1 1 3 2 1
2 2 4 3 1
非常感谢
答案 0 :(得分:2)
我假设您要对NameId
和ClassId
字段进行分组,并且结果中的Sex
字段根本不是性别,而是人数。< / p>
这样的事情:
select
NameId,
ClassId,
count(*) as Sex,
sum(Sex) as Male,
count(*) - sum(Sex) as Female
from
TheTable
group by
NameId,
ClassId
对于性别值1和2,您可以使用case
来计算它们:
sum(case Sex when 1 then 1 else 0 end) as Male,
sum(case Sex when 2 then 1 else 0 end) as Female