oracle记录中选择出第一条记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle记录中选择出第一条记录相关的知识,希望对你有一定的参考价值。
一个oracle表,
字段 ID BAL
00001 5.00
00001 10.00
00001 15.00
00002 5.00
00002 9.00
00002 7.00
……
问我怎么取到每个不同ID号BAL值最大的那条记录?
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;
参考技术A 那只能是借助rownum来实现了. oracle中在加了rownum之后可进行排序。使用rownum,一般是筛选部分行数为结果,所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。
若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如
select * from (select * from test order by a) where rownum<2;
虽然此sql可实现,排序后查询前10条的数据,根据实际需要修改即可。 参考技术B select id, max(bal) from tb group by id order by id 参考技术C select id, max(bal) maxbal
from tb
group by id本回答被提问者采纳 参考技术D select id,max(bal) from 表 group by id
Oracle随机选择一条记录SQL
Oracle随机选择一条记录SQL:
SELECT * FROM (SELECT * FROM t_enterprise_info order by dbms_random.value) WHERE rownum =1
以上是关于oracle记录中选择出第一条记录的主要内容,如果未能解决你的问题,请参考以下文章