jxc(GameHeart) , zsfww1205,duanzilin(寻)请进

jiaguiyun 2005-05-20 07:50:02
http://community.csdn.net/Expert/topic/4022/4022157.xml?temp=.2631494
在以上帖子的问题中,出现了一个问题,就是取出的time,v中,出现了在同一年中的3月份,同是出现了两个最大值.如
  time v
1994-3-25 25
19994-3-30 25
而我只想取第一个最大值及时间,该怎么写?

...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaguiyun 2005-05-24
  • 打赏
  • 举报
回复
好的。多谢了。
jiaguiyun 2005-05-23
  • 打赏
  • 举报
回复
再请教寻一下,oracle中的Sql应该怎么学习?哪儿有找到文档啊?
沝林 2005-05-23
  • 打赏
  • 举报
回复
去ORACLE官网下载,不过都是英文的
http://www.oracle.com/technology/documentation/oracle9i_arch_901.html
沝林 2005-05-21
  • 打赏
  • 举报
回复
不好意思,上面多了个逗号order by v desc,time desc
沝林 2005-05-21
  • 打赏
  • 举报
回复
楼上说的没错,只取1个就用row_number(),按你需要的日期排序就可以了
select time,v from
(
select time,v,row_number() over(partition by trunc(time,'MM') order by v desc,time,desc) rank_v from table1 where to_char(time,'MM') = '03'
)
where rank_v =1
skystar99047 2005-05-21
  • 打赏
  • 举报
回复
select time,v from(select t.*,row_number() over(partition by to_char(time,'yyyy') order by v desc,time ) rn from test3 t where to_char(time,'mm')='03') where rn = 1;
没问题
只是不知道如果出现同月两个相同最大值的时候,你是想时间大的还是小的?
调整一下order by v desc,time 即可。
zsfww1205 2005-05-21
  • 打赏
  • 举报
回复
select * from
(
select t.*,row_number() over(partition by to_char(time,'yyyy') order by v desc,time) rownum1
from table1 t where to_char(time,'mm') = '03'
)
where rownum1 = 1
这个没问题的,我式过了

我在本机上测试过了阿,没问题啊
jiaguiyun 2005-05-21
  • 打赏
  • 举报
回复
顶一下

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧