Oracle,不使用子查询,SQL语句怎么写能返回按某个字段排序后的第一行?

 我来答
邸周胡范
2019-11-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:716万
展开全部
应该要有两次SELECT才可以达到这个要求吧引用楼主
ynduanlian
的回复:比如表TableA有三个字段:C1
C2
C3现在按C3排序查询:select
*
from
TableA
order
by
C3
desc只取其中一条则:select
*
from
(select
*
from
TableA
order
by
C3
desc)
where
rownum=1;能返回按C3字段排序后的第一行。但是如果不使用子查询的方式,是否可能实现同样的效果……
TableDI
2024-07-18 广告
Excel中的VLOOKUP函数主要用于在表格中进行垂直查找,并返回匹配单元格的值。使用VLOOKUP时,你需要确保两个表格中有共同的列或值(通常作为查找键),这些值应在个参数(即查找值)中指定。接着,你需指定包含数据的表格区域或范围作为第... 点击进入详情页
本回答由TableDI提供
冯滢虎照
2019-11-07 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:893万
展开全部
楼主的语句,是嵌套吧,应该不是严格意义上的子查询吧姑且把这种也算子查询,那么,楼主的意思是想一条语句搞定非常遗憾的说一下,无法满足要求,因为使用rank函数,也需要外层过滤的select
*
from
(

select
c1,c2,c3

,row_number()
over(order
by
QUERY_TAB_FIELD)
rank_order

from
TABLE_A
t

)
where
rank_order
=
1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3bc03ef32da
2019-10-21 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:839万
展开全部
引用
7

jsjzzh
的回复:大概思路。使用RANK函数,应该可以不用子查询。SQL
codeSELECT
C1,
C2,
C3
RANK()
OVER(ORDER
BY
C3
DESC)
FROM
TABLEA哈哈,还没试,不过看来还是有高人有办法啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式