Oracle 取最大值取出一条数据问题

Oracle取最大值取出一条数据问题我要取strid最大值的一条数据怎么取,我用max都试过了... Oracle 取最大值取出一条数据问题我要取strid最大值的一条数据怎么取,我用max都试过了 展开
 我来答
freechan10
2019-12-01 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:13.1万
展开全部

1、按照问题中的表样,先建测试表;create table test_max(qoor varchar2(20),para varchar2(100),strid number);

2、插入测试数据,

insert into test_max values(48,'厅门1',2);

insert into test_max values(251,'厅门2',7);

insert into test_max values(252,'厅门3',7);

insert into test_max values(259,'厅门2',9);

insert into test_max values(260,'厅门2',9);

insert into test_max values(263,'厅门2',12);

3、查询表中记录,最大的strid=12;select t.*, t.rowid from TEST_MAX t

4、获取最大数据,即strid=12的记录,编写sql;

select * from 

(select t.*, row_number() over(order by strid desc) rn from TEST_MAX t) t

where rn =1;

明明爱你cy
推荐于2017-12-15 · TA获得超过1407个赞
知道小有建树答主
回答量:606
采纳率:50%
帮助的人:239万
展开全部
具体的看不清,但是大致思路是:select * from 表名 where id=(select max(id) from 表名 group id)
或者先排序,再取rownum=1的那条数据
更多追问追答
追问
这个我试过,它提示错误是单行返回多行
追答
因为有多个最大的值,可以将=改为in或者max前面加distinct
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式