排名提取

怎么能把这个排名提取出来,只留一行,但是排名还是显示第5,我试了半天只留一行的话排名就第1了,蒙

图片.png

FineReport xiaomili 发布于 2019-11-1 09:34
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
sayLv6初级互助
发布于2019-11-1 10:08

确认一下,你这排名是怎么来的,是底表就有的,还是前端排出来的?还有就是你说的提取是用控件筛选的吗?

  • xiaomili xiaomili(提问者) 是这样的,假如总共8个人,现在已经查出来前8名了,降序排列的,现在我单独差第4行这个数据,排名也显示出他自己的排名,792这个字段是已知的,别的字段不知道
    2019-11-01 10:13 
  • say say 回复 xiaomili(提问者) 能不能这样理解,你要查询‘’792‘’,通过792 知道其他信息,包括他在数据表里的排名
    2019-11-01 10:20 
  • xiaomili xiaomili(提问者) 回复 say 对,就是这个意思,就只想查出792这条数据以及包括他在数据表里的排名
    2019-11-01 10:21 
  • say say 回复 xiaomili(提问者) 可不可以这样,你写数据集的时候就把排名写进去,方法1: select rownum,a.* from (select t.* from TABLE名 t order by t.排序字段 ) a;方法2:select row_number() over (order by t.排序字段) rn,t.* from TABLE名 t(rn就是排序编号)
    2019-11-01 10:23 
  • xiaomili xiaomili(提问者) 回复 say 我按你方法2写的,按792查出来这条数据了,但是排名不对,查出是第1,应该是他自己的排名第5
    2019-11-01 10:25 
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2019-11-1 09:48

加一行

where 排名='5'?

  • xiaomili xiaomili(提问者) 不是,如图这8个排名之后,我想只显示第5名这行,排名第五这个不变化
    2019-11-01 09:50 
  • 豆豆小可爱 豆豆小可爱 回复 xiaomili(提问者) 我咋看不明白你的意思呢?你是想把第5名再显示一遍?放在最后一行?
    2019-11-01 09:53 
  • xiaomili xiaomili(提问者) 回复 豆豆小可爱 是这样的,假如总共8个人,现在已经查出来前8名了,降序排列的,现在我单独差第4行这个数据,排名也显示出他自己的排名,792这个字段是已知的,别的字段不知道
    2019-11-01 09:57 
最佳回答
0
axingLv6专家互助
发布于2019-11-1 09:51

在你现在的sql外面再嵌套一层

select * from (你现在的sql) t where 排名=5


  • xiaomili xiaomili(提问者) 792这个字段是已知的,排名未知,你这个语句我试了,会查出一条数据,这个没问题,但是后面的排名变了,变第1了,我想应该显示他自己的排名
    2019-11-01 10:00 
  • axing axing 回复 xiaomili(提问者) 。。。你贴图的结果不是查出排名了吗,你将你贴图的那个sql放到我的那个括号里,不行的话就把你现在的sql贴出来看看
    2019-11-01 10:02 
最佳回答
0
梦已元Lv4初级互助
发布于2019-11-1 10:05

设计器里去,直接取第5行的数据,展示

最佳回答
0
黄源Lv6中级互助
发布于2019-11-1 10:06

报表过滤,排名=5

  • 6关注人数
  • 970浏览人数
  • 最后回答于:2019-11-1 10:08
    请选择关闭问题的原因
    确定 取消
    返回顶部