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记录中选择出第一条记录的主要内容,如果未能解决你的问题,请参考以下文章

Oracle随机选择一条记录SQL

MySQL:在表中选择第一条记录,最后一条记录和 200 条均匀间隔的记录

对相关记录进行分组,但仅从第一条记录中选择某些字段

ComboBox 只选择第一条记录

使用左连接选择一对多关系中的第一条记录

SQL:如何从重复行中选择第一条记录?