`
y1d2y3xyz
  • 浏览: 253012 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL整理五

    博客分类:
  • SQL
SQL 
阅读更多
学生信息表: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                                     |
+------------------------------------------------------------+

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics