一道很有意思的mysql查询题

刚刚碰到一个题目 感觉有点意思 记录下来
这里有一个stu表 表如下
name subject grade
(‘张三’,'数学’,90),
(‘张三’,'语文’,50),
(‘张三’,'地理’,40),
(‘李四’,'语文’,55),
(‘李四’,'政治’,45),
(‘王五’,'政治’,30);
要求查出两门以及两门以上不及格同学的平均分 要求只能用一次select
也就是说不能用子查询 左右连接之类的

mysql> select name,avg(grade) as avg,sum(grade<60) as fail from stu group by name having fail >=2;
+------+---------+------+
| name | avg | fail |
+------+---------+------+
| 张三 | 60.0000 | 2 |
| 李四 | 50.0000 | 2 |
+------+---------+------+
2 rows in set (0.00 sec)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">