我给你一个oracle数据库的语句吧,不知道你用的什么数据库,参考一下解决思路吧select 班级,sum(decode(选修科目,'语文',1,0)) ,sum(decode(选修科目,'数学',1,0)) ,sum(decode(选修科目,'化学',1,0)) from 学生信息表 group by 班级只要把涉及的科目加上就能得到人数,sum(decode(选修科目,'语文',1,0)) decode函数把 选修科目 语文 翻译为1,其他为零,然后把1加起来就是语文科目的人数了其他数据库有没有这种功能的函数呢,我不知道,你可以查一查。再给你进一步提供思路decode(expression,val1,trans1,val2,trans2,default)相当于if expression=val1 then return trans1else if expression=val2 then return trans2else return defaultend if希望对你解决思路有所帮助。
|