【发布时间】:2018-06-12 12:39:18
【问题描述】:
我需要从不更改主选择的视图中获取行号,但它会显示所选行号的整个行号表。
这是 table1 中的值:
field1
---------
aa
ab
ba
bb
bc
ca
cb
cc
我创建了一个这样的视图:
select field1, row_number() OVER (ORDER BY field1) as rowno
from table1
但选择显示整体行号:
select *
from myview
where field1 like 'c%'
field1 rowno
-----------------
ca 6
cb 7
cc 8
而不是
field1 rowno
-----------------
ca 1
cb 2
cc 3
有机会做对吗?
【问题讨论】:
-
不要将
row_number放在视图中。放在select子句中 -
正如它所显示的那样,它是正确的...您将 rowno 放入视图中 - 在视图中,ca 在第 6 行,cb 在第 7 行...如果您想要您的结果编号,您必须在视图之外执行 rowno 调用。
标签: sql sql-server views row-number