oracle记录中选择出第一条记录

一个oracle表,字段IDBAL000015.000000110.000000115.00000025.00000029.00000027.00……问我怎么取到每个不同... 一个oracle表,
字段 ID BAL
00001 5.00
00001 10.00
00001 15.00
00002 5.00
00002 9.00
00002 7.00
……
问我怎么取到每个不同ID号BAL值最大的那条记录?
展开
 我来答
大宝妈谈教育
高粉答主

2020-04-28 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:49万
展开全部

oracle记录中选择出第一条记录的方法。

如下参考:

1.创建测试表

Createtabletest_order(idnumber,valuevarchar2(50));

2.插入测试数据

插入test_order值(3,'v3');

插入test_order值(2,'v2');

插入test_order值(1,'v1');

插入test_order值(5,'v5');

插入test_order值(4,'v4');

提交;

3.检查查询表中的全部数据,可以发现数据没有排序,选择t。*,rowidfromtest_ordert;

4.写SQL,数据只要第一个记录(不是rownum=1)select*from(selectt)。*,row_number()/(orderbyid)rnfromtest_ordert)t,其中rn=1;

198901245631
推荐于2017-09-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1678万
展开全部
那只能是借助rownum来实现了. oracle中在加了rownum之后可进行排序。
使用rownum,一般是筛选部分行数为结果,所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。
若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如
select * from (select * from test order by a) where rownum<2;
虽然此sql可实现,排序后查询前10条的数据,根据实际需要修改即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seanpim
2009-09-23 · TA获得超过122个赞
知道小有建树答主
回答量:538
采纳率:100%
帮助的人:114万
展开全部
select id, max(bal) from tb group by id order by id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e6ea01f
2009-09-23 · TA获得超过449个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:537万
展开全部
select id, max(bal) maxbal
from tb
group by id
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alex_hy
2009-09-23 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:955万
展开全部
select id,max(bal) from 表 group by id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式