今天看到这个么一道题,炸一看,感觉 ~简单哦!然后再仔细一看,当时就有点懵逼了
要求:有一种student表,字段有姓名(XM)、语文成绩(YW)、数学成绩(SX)、英语成绩(YU),然后用sql查询每一个学生所有科目中的最高分和最低分。如图:
惊喜吧,意外吧!不按常理出牌,以前学校教我们的都是:查询所有学生某一个科目下成绩的平均值、最低值或最高值,而这次是横着来!!!
在不看下面答案前先试着搞一下吧,可能对于大牛来说这都是家常菜了!
select stu.XM,
[max]=(select MAX(col) from (select col=stu.YU union all select stu.SX union all select stu.YW)a),
[min]=(select MIN(col) from (select col=stu.YU union all select stu.SX union all select stu.YW)b)
from stu