最佳回答
0
say Lv6 初级互助 发布于2019-11-1 10:08
确认一下,你这排名是怎么来的,是底表就有的,还是前端排出来的?还有就是你说的提取是用控件筛选的吗?
xiaomili(提问者)
- 是这样的,假如总共8个人,现在已经查出来前8名了,降序排列的,现在我单独差第4行这个数据,排名也显示出他自己的排名,792这个字段是已知的,别的字段不知道
say 回复 xiaomili(提问者)
- 能不能这样理解,你要查询‘’792‘’,通过792 知道其他信息,包括他在数据表里的排名
xiaomili(提问者) 回复 say
- 对,就是这个意思,就只想查出792这条数据以及包括他在数据表里的排名
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就是排序编号)
xiaomili(提问者) 回复 say
- 我按你方法2写的,按792查出来这条数据了,但是排名不对,查出是第1,应该是他自己的排名第5
取消
评论
最佳回答
0
豆豆小可爱 Lv5 中级互助 发布于2019-11-1 09:48
xiaomili(提问者)
- 不是,如图这8个排名之后,我想只显示第5名这行,排名第五这个不变化
豆豆小可爱 回复 xiaomili(提问者)
- 我咋看不明白你的意思呢?你是想把第5名再显示一遍?放在最后一行?
xiaomili(提问者) 回复 豆豆小可爱
- 是这样的,假如总共8个人,现在已经查出来前8名了,降序排列的,现在我单独差第4行这个数据,排名也显示出他自己的排名,792这个字段是已知的,别的字段不知道
取消
评论
最佳回答
0
axing Lv6 专家互助 发布于2019-11-1 09:51
在你现在的sql外面再嵌套一层
select * from (你现在的sql) t where 排名=5
xiaomili(提问者)
- 792这个字段是已知的,排名未知,你这个语句我试了,会查出一条数据,这个没问题,但是后面的排名变了,变第1了,我想应该显示他自己的排名
axing 回复 xiaomili(提问者)
- 。。。你贴图的结果不是查出排名了吗,你将你贴图的那个sql放到我的那个括号里,不行的话就把你现在的sql贴出来看看
取消
评论
最佳回答
0
梦已元 Lv4 中级互助 发布于2019-11-1 10:05
最佳回答
0
黄源 Lv6 中级互助 发布于2019-11-1 10:06