group by的用法
大家哈,问题如下:学号姓名科目分数001a语文90001a数学98001a英语92002b语文95002b数学93002b英语97003c语文85003c数学83003c...
大家哈,问题如下:
学号 姓名 科目 分数
001 a 语文 90
001 a 数学 98
001 a 英语 92
002 b 语文 95
002 b 数学 93
002 b 英语 97
003 c 语文 85
003 c 数学 83
003 c 英语 90
要求用一个sql写出:[语文]分数最高的同学姓名,学号以及分数,正确显示应该如下:
学号 姓名 科目 分数
002 b 语文 95
用一个sql写出各科成绩最高的同学
学号 姓名 科目 分数
001 a 数学 98
002 b 语文 95
002 b 英语 97
我这里要求的是查询最高分,而不是多少分以上 展开
学号 姓名 科目 分数
001 a 语文 90
001 a 数学 98
001 a 英语 92
002 b 语文 95
002 b 数学 93
002 b 英语 97
003 c 语文 85
003 c 数学 83
003 c 英语 90
要求用一个sql写出:[语文]分数最高的同学姓名,学号以及分数,正确显示应该如下:
学号 姓名 科目 分数
002 b 语文 95
用一个sql写出各科成绩最高的同学
学号 姓名 科目 分数
001 a 数学 98
002 b 语文 95
002 b 英语 97
我这里要求的是查询最高分,而不是多少分以上 展开
2个回答
展开全部
select 学号、姓名、科目、分数 from...group by 科目 having max分数
如果只是语文的就having后面再加上科目等于语文。
group by 就是用来表示按照什么来分组,经常和having一起用表示选择条件。
如果只是语文的就having后面再加上科目等于语文。
group by 就是用来表示按照什么来分组,经常和having一起用表示选择条件。
追问
select 学号、姓名、科目、分数 from...group by 学号、姓名、科目、分数 没问题,如果单独 select 学号、姓名、科目、分数 from...group by 科目就有问题了;
还有我加上 having max分数就报错
追答
哦。。。我知道了。。。应该是你学号、姓名、分数里面那个是primary key,就select 那个、科目 group by 科目 having...然后其他的再在这个里面select ,如果不能用having max的话可以在select里面用max。。。
不好意思啊。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询