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语句呢?
...全文
258 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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