您的位置:首页 > 数据库 > MySQL

MySQL,查询及格人数,不及格人数

2018-03-24 14:42 756 查看
一个表score,字段是name,class,score。分别代表姓名,所在班级,分数。
要求用一条语句查出每个班的及格人数和不及格人数,格式为:class,及格人数,不及格人数。
SELECT `class`,
SUM(CASE WHEN score>=60 THEN 1 ELSE 0 END),
SUM(CASE WHEN score>=60 THEN 0 ELSE 1 END)
FROM score
GROUP BY 1 //1代表第1列 或 GROUP BY `class`

--
-- 表的结构 `score`
--

CREATE TABLE IF NOT EXISTS `score` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`class` int(11) NOT NULL,
`score` varchar(10) NOT NULL,
`txt` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

--
-- 转存表中的数据 `score`
--

INSERT INTO `score` (`id`, `name`, `class`, `score`, `txt`) VALUES
(1, '张三', 1, '60', ''),
(2, '李四', 2, '80', ''),
(3, '张三1', 1, '20', ''),
(4, '李四2', 2, '40', ''),
(5, '张三2', 1, '50', ''),
(6, '李四3', 2, '90', ''),
(7, '王五', 1, '90', ''),
(8, '李六', 2, '85', '');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: