学生信息表:tab1
+------+--------+-----+
|name class score
+------+--------+-----+
| 张三 法学02班 59
+------+--------+-----+
| 李四 公商00班 69
+------+--------+-----+
| 王五 法学02班 95
+------+--------+-----+
| 马六 公商00班 65
+------+--------+-----+
| 阿一 法学02班 88
+------+--------+-----+
| 阿洒 公商00班 66
+------+--------+-----+
| 小游 法学02班 82
+------+--------+-----+
| 小杨 公商00班 67
+------+--------+-----+
| 小赵 法学02班 55
+------+--------+-----+
| 小彭 公商00班 55
+------+--------+-----+
| 小周 法学02班 51
+------+--------+-----+
| 小陈 公商00班 59
+------+--------+-----+
SQL:
+------------------------------------------------------+
CREATE TABLE IF NOT EXISTS `tab1` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
`class` varchar(50) NOT NULL,
`score` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='学生信息表';
INSERT INTO `tab1` VALUES (1, '张三', '法学02班', '59');
INSERT INTO `tab1` VALUES (2, '李四', '公商00班', '69');
INSERT INTO `tab1` VALUES (3, '王五', '法学02班', '95');
INSERT INTO `tab1` VALUES (4, '马六', '公商00班', '65');
INSERT INTO `tab1` VALUES (5, '阿一', '法学02班', '88');
INSERT INTO `tab1` VALUES (6, '阿洒', '公商00班', '66');
INSERT INTO `tab1` VALUES (7, '小游', '法学02班', '82');
INSERT INTO `tab1` VALUES (8, '小杨', '公商00班', '67');
INSERT INTO `tab1` VALUES (9, '小赵', '法学02班', '55');
INSERT INTO `tab1` VALUES (10, '小彭', '公商00班', '55');
INSERT INTO `tab1` VALUES (11, '小周', '法学02班', '51');
INSERT INTO `tab1` VALUES (12, '小陈', '公商00班', '59');
+-------------------------------------------------------+
要求:
1.要求用一条语句查出每个班的及格人数和不及格人数,格式为:class,及格人数,不及格人数
+------------------------------------------------------------+
|select t1.class as 班级, t1.ct as 及格人数,t2.ct1 as 不及格人数|
|from (select count(*) as ct,class |
| from tab1 a |
| where a.score>=60 |
| group by a.class) t1, |
|(select count(*) as ct1 ,class |
| from tab1 b |
| where b.score<60 |
| group by b.class) t2 |
|where t1.class=t2.class |
+------------------------------------------------------------+