首页 新闻 搜索 专区 学院

SQL server怎么获取某条信息在数据库表中排第几位?

0
悬赏园豆:10 [已解决问题] 解决于 2012-07-09 14:31

SQL server怎么获取某条信息在数据库表中排第几位?

例如我要取ID 为330的信息排第几位? 数据是按rootid,orders排序的, 表名Web

数据库是SQL2000数据库附加到SQL2005上的

一个小白的主页 一个小白 | 初学一级 | 园豆:68
提问于:2012-07-06 14:36
< >
分享
最佳答案
1
Select * From (
  Select
RW=Row_number()Over(Partition By rootid,orders),* From Web
) A Where ID=330
收获园豆:5
Shannon | 小虾三级 |园豆:601 | 2012-07-06 15:16
RW=Row_number() 这个提示 'row_number' 不是可以识别的 函数名。
一个小白 | 园豆:68 (初学一级) | 2012-07-06 15:17

@一个小白: SQL Server版本是多少

dudu | 园豆:37797 (高人七级) | 2012-07-06 16:56
其他回答(3)
0

select * from (select rownum,ms.* from (
select ms.ID from Web ms order by rootid,orders) ms) tb
 where tb.ID='330'

收获园豆:1
cici.fan | 园豆:46 (初学一级) | 2012-07-06 17:00

除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。

支持(0) 反对(0) 一个小白 | 园豆:68 (初学一级) | 2012-07-06 17:04
0

排序取自动生成的id

收获园豆:1
jerry-Tom | 园豆:4077 (老鸟四级) | 2012-07-07 13:10
0
Select * From (Select RW=Row_number() Over(order By rootid,orders),* From Web) A Where ID=330

2005是支持row_number函数的

收获园豆:3
安卓粉丝 | 园豆:99 (初学一级) | 2012-07-08 13:07

原来是SQL2000的数据库附加到SQL2005上的  所以RW=Row_number()识别不了。

支持(0) 反对(0) 一个小白 | 园豆:68 (初学一级) | 2012-07-09 09:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册