数据统计查询

来源:互联网 发布:反射java 编辑:程序博客网 时间:2024/05/18 02:28

如有这么个需求:统计所有班级的各科目的及格人数以及不及格人数,并且以列表列出:

具体实现:

SELECTt.banji,sum(t.yuwenbujige) yuwenbujige,sum(t.shuxuebujige) shuxuebujige,sum(t.yuwenjige) yuwenjige,sum(t.shuxuejige) shuxuejigeFROM(SELECTbanji,COUNT(*) yuwenbujige,0 shuxuebujige,0 yuwenjige,0 shuxuejigeFROMxxxWHEREkumu = '语文'AND score < 60GROUP BYbanjiUNION ALL(SELECTbanji,0 yuwenbujige,COUNT(*) shuxuebujige,0 yuwenjige,0 shuxuejigeFROMxxxWHEREkumu = '数学'AND score < 60GROUP BYbanji)UNION ALL(SELECTbanji,0 yuwenbujige,0 shuxuebujige,COUNT(*) yuwenjige,0 shuxuejigeFROMxxxWHEREkumu = '语文'AND score > 60GROUP BYbanji)UNION ALL(SELECTbanji,0 yuwenbujige,0 shuxuebujige,0 yuwenjige,COUNT(*) shuxuejigeFROMxxxWHEREkumu = '数学'AND score > 60GROUP BYbanji)) tGROUP BYt.banji

查询结果:



0 0