SQL 统计 问题严重

[复制链接]
查看11 | 回复1 | 2008-1-31 21:38:16 | 显示全部楼层 |阅读模式
我给你一个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希望对你解决思路有所帮助。
回复

使用道具 举报

千问 | 2008-1-31 21:38:16 | 显示全部楼层
其实这就是一个将列转成行的典型sql问题到这儿看看吧http://hi.baidu.com/songyl525/blog/item/67829cb3f1c125a3d8335ada.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行