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

author author     2023-04-20     591

关键词:

一个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

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

】MySQL:在表中选择第一条记录,最后一条记录和200条均匀间隔的记录【英文标题】:MySQL:Selectfirstrecord,lastrecordand200evenlyspacedrecordsin-betweenintable【发布时间】:2015-10-2111:00:29【问题描述】:我有一个MySQL值表,其中包含从数据记... 查看详情

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

】对相关记录进行分组,但仅从第一条记录中选择某些字段【英文标题】:Grouprelatedrecords,butpickcertainfieldsfromonlythefirstrecord【发布时间】:2010-10-2317:40:44【问题描述】:我正在对多个记录执行聚合函数,这些记录按公共ID分组。... 查看详情

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

】使用左连接选择一对多关系中的第一条记录【英文标题】:SelectfirstrecordinaOne-to-Manyrelationusingleftjoin【发布时间】:2011-12-3023:29:02【问题描述】:我正在尝试使用左连接来连接两个表。并且结果集必须只包含“右”连接表中的... 查看详情

ComboBox 只选择第一条记录

】ComboBox只选择第一条记录【英文标题】:ComboBoxonlyselectsfirstrecord【发布时间】:2021-12-2816:10:51【问题描述】:我有一个从包含两个字段的表中选择的组合框:第1列是“用户名”,第2列是“签名”。“User_Name”字段的数据类型... 查看详情

从具有重复列值的集合中选择第一条记录 C#

】从具有重复列值的集合中选择第一条记录C#【英文标题】:SelectingthefirstrecordfromacollectionwithDuplicatecolumnvaluesC#【发布时间】:2022-01-1908:57:05【问题描述】:我有一个记录列表。publicclassRecordpublicintIdget;set;publicstringNameget;set;publicst... 查看详情

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

】SQL:如何从重复行中选择第一条记录?【英文标题】:SQL:Howtoselectthefirstrecordfromduplicaterows?【发布时间】:2018-09-0315:01:33【问题描述】:在执行以下查询以查找重复项时select*from(selecta.*,count(*)over(partitionbya.ID)astotfromHREMPa)ttwherett... 查看详情

MySQL从一系列相同的值中选择第一条和最后一条记录

】MySQL从一系列相同的值中选择第一条和最后一条记录【英文标题】:MySQLselectfirstandlastrecordsfromaseriesofsamevalue【发布时间】:2013-05-1410:26:25【问题描述】:我有一张这样的桌子IdStatusTimeStamp112012-02-0300:00:05212012-02-0300:00:10302012-02-03... 查看详情

选择除第一条记录之外的所有记录

】选择除第一条记录之外的所有记录【英文标题】:Selectingallrecordsexcepttheveryfirst【发布时间】:2011-02-1512:40:06【问题描述】:我有一个包含客户的表和另一个包含该客户结果的表。一个客户可以有很多结果。我希望能够首先仅... 查看详情

如何确保仅从特定表中选择第一条记录,该表可以在 DB2 中包含多个相同 ID 的记录

】如何确保仅从特定表中选择第一条记录,该表可以在DB2中包含多个相同ID的记录【英文标题】:HowtoMakesureonlytheFirstRecordisSelectedfromaparticulartablehavewhichcanMutipleRecordsofSameIDinDB2【发布时间】:2021-06-0911:58:58【问题描述】:我正在尝... 查看详情

选择第一条记录到 field1 和其他记录到 field2

】选择第一条记录到field1和其他记录到field2【英文标题】:selectfirstrecordintofield1andotherrecordsintofield2【发布时间】:2016-01-2716:47:07【问题描述】:我有一个带有id的table1。另一个table2有两个字段;主和子。我需要从table1中选择firstI... 查看详情

选择基于重复项的第一条记录[重复]

】选择基于重复项的第一条记录[重复]【英文标题】:Selectthefirstrecordbasedofdulpicates[duplicate]【发布时间】:2022-01-1300:11:17【问题描述】:我正在尝试解决SQLServer中的重复问题。我有很多重复的记录,除了列时间之外的确切信息:... 查看详情

有重复组时选择最后一组的第一条记录

】有重复组时选择最后一组的第一条记录【英文标题】:Selectthefirstrecordofthelastgroupwhentherearerepeatinggroups【发布时间】:2018-12-2520:01:52【问题描述】:尝试为每个POLICY_ID选择最新重复STATUS组的第一条记录。我该怎么做?编辑/注意... 查看详情

oracle随机选择一条记录sql

Oracle随机选择一条记录SQL:SELECT*FROM(SELECT*FROMt_enterprise_infoorderbydbms_random.value)WHERErownum=1 查看详情

使用组合框切换记录时访问显示第一条记录

】使用组合框切换记录时访问显示第一条记录【英文标题】:Accessdisplayingfirstrecordwhenusingcomboboxtoswitchrecords【发布时间】:2014-12-1614:28:41【问题描述】:我有一个使用位于SQLServer上的链接表的Access数据库。对于其中一个表,我创... 查看详情

在 FOR 循环中第一次选择 20 条记录并在 oracle 中再次休息时出错

】在FOR循环中第一次选择20条记录并在oracle中再次休息时出错【英文标题】:Gettingerrorwhileselect20recordforfirsttimeinFORloopandrestforanthertimeinoracle【发布时间】:2018-12-1810:59:52【问题描述】:在Oracle中,我通过使用PL/SQL变量typev_arrisvarray... 查看详情

添加记录编辑第一条记录

】添加记录编辑第一条记录【英文标题】:AddRecordEditingfirstrecord【发布时间】:2013-11-1503:42:30【问题描述】:在Access2013中,当我将名称字段从表中拖到表单中并添加添加记录按钮时,文本输入/表单显示第一条记录。当我更改文... 查看详情

oracle取查询结果数据的第一条记录sql

Oracle取查询结果数据的第一条记录SQL:select*from(select*from<table>orderby<key>)whererownum=1;select*from(select*from<table>orderby<key>desc)whererownum=1; 查看详情

oracle中如何只查询一条复合条件的记录,即查到一条记录就返回

oracle中如何只查询一条复合条件的记录,即查到一条记录就返回类似于sqlserver中的selecttop1*from。。。的功能可以用rownum来查询一条记录。如emp表中有如下数据。要求查询deptno为20的,但只取一条记录,可用如下语句:select * from... 查看详情