oracle查询结果如果某个字段重复的时候就取另一个字段值最小的数据
如表a数据信息如下:IdnameResults1karl852ramon903karl934ramon95如果name相同的时候取Results最大的数据如图所示的最后的...
如表a数据信息如下:
Id name Results
1 karl 85
2 ramon 90
3 karl 93
4 ramon 95
如果name相同的时候 取Results 最大的数据
如图所示的最后的结果应该是
Id name Results
1 karl 93
2 ramon 95
本来想多悬赏点分数,奈何没有那么多的资本 请各位多多帮助
多谢两位,我把自己写的sql语句和产生结果贴上去 期望大家能帮助我解决,解决的话 我会多给分的.具体的代码和产生结果的截图请查看图片,有问题不明白请QQ联系我:308948501 添加好友时请说明是百度知道帮组解决问题的朋友.再次感谢 展开
Id name Results
1 karl 85
2 ramon 90
3 karl 93
4 ramon 95
如果name相同的时候 取Results 最大的数据
如图所示的最后的结果应该是
Id name Results
1 karl 93
2 ramon 95
本来想多悬赏点分数,奈何没有那么多的资本 请各位多多帮助
多谢两位,我把自己写的sql语句和产生结果贴上去 期望大家能帮助我解决,解决的话 我会多给分的.具体的代码和产生结果的截图请查看图片,有问题不明白请QQ联系我:308948501 添加好友时请说明是百度知道帮组解决问题的朋友.再次感谢 展开
3个回答
展开全部
SELECT A.NAME,MIN(RESULTS) FROM A
GROUP BY A.NAME;
就是这么简单!
GROUP BY A.NAME;
就是这么简单!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select rownum,a.* from select (name, max(results) from table_a group by name order by name) a;
追问
我把sql语句和产生结果的截图给你请你帮忙看下 谢谢. 或者能告诉我你的qq 我们在线说.
追答
你这个要用到row_number()函数,语法是row_number() over(partition by 报修单号 order by 到修时间)。用这个函数可以按照报修单号分组,每组中按照到修时间排序并分配一个序号。想要最小的就取序号是1的,想要最大的就row_number() over(partition by 报修单号 order by 到修时间 desc)取序号是1的。
举例:
select 报修单号, 到修时间 from (select 报修单号, 到修时间, row_number() over(partition by 报修单号 order by 到修时间) rn from table_name) where rn=1 order by 报修单号;
可以根据需要加上desc或者不加。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select name,max(results) from a group by name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询