oracle如何在结果集中返回查询表中的记录行号

cpponly2008 2013-07-16 03:41:28
比如有个表user

id,name
300,'xiaohong'
200,'xiaoming'
400,'xiaogang'
200,'xiaoxin'

现在要查询id为200的所有记录在user中的行号,这里为2,4,该如何写sql语句呢?
...全文
154 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
a597926661 2013-07-16
引用 2 楼 cpponly2008 的回复:
[quote=引用 1 楼 HJ_daxian 的回复:]

select rn
from
(
    select rownum rn,id,name
    from user
)
where id = 200
如果user表记录相当多,而该查询使用的次数相当频繁,这么查询会不会很慢?[/quote] 数据量大的时候慢是全表遍历查询所引起的,可以考虑索引,这个sql不是慢的原因所在
  • 打赏
  • 举报
回复
cpponly2008 2013-07-16
引用 1 楼 HJ_daxian 的回复:

select rn
from
(
    select rownum rn,id,name
    from user
)
where id = 200
如果user表记录相当多,而该查询使用的次数相当频繁,这么查询会不会很慢?
  • 打赏
  • 举报
回复

select rn
from
(
    select rownum rn,id,name
    from user
)
where id = 200
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-07-16 03:41
社区公告
暂无公告