用SQL语言查询信管系最大年龄和最小年龄的学生的姓名

selectSnameas姓名,max(Sage)as最大年龄,min(Sage)as最小年龄fromStudentwhereSdept='信管系'出现的错误提示是:列'... select Sname as 姓名,
max(Sage) as 最大年龄,min(Sage) as 最小年龄
from Student
where Sdept='信管系' 出现的错误提示是:列 'Student.Sname' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
我知道语法有错误。但是该如何更改。非常感谢。嘎嘎~^_^。
展开
 我来答
那年花开_青
推荐于2018-05-16
知道答主
回答量:40
采纳率:100%
帮助的人:20.5万
展开全部
聚合函数一般是要加上group by的,select后的列,除了聚合函数的列外,其他的要写到最后的group by子句中。如没有其他的列可不写group by子句。
你在后面加个group by sname即可,但是你如果像你这样写的话,group by后面一般是跟的每组的列名,你这相当于以每个人为一列,而每个人的最大最小值是一样的,就达不到效果。
匿名用户
2013-06-08
展开全部
select sname,ssage from student
where ssage in (
select min(ssage) from student where sdept='信管系'
union all
select max(ssage) from student where sdept='信管系' )
and sdept='信管系'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左枢
2018-05-16
知道答主
回答量:18
采纳率:0%
帮助的人:8.1万
展开全部
select min(age),max(age) from student where dept=‘信管‘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-08
展开全部
这样查不对的吧 用个子查询吧是要查询年龄最大的人的姓名和年龄吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式