对视图内的函数进行排名

时间:2015-07-22 22:26:28

标签: sql-server sql-server-2008 view ranking-functions

在sql server(2008 r2)的视图中使用排名函数是否可靠,尤其是

over (order by ...) 

条款?

众所周知

order by 
内部视图中的

子句不是一个好的方法,即使你指定了

top (100) percent

怎么样?
row_number() over(order by myColumn)

Sql server designer抱怨它,但我找不到有关此组合的任何可靠信息。

1 个答案:

答案 0 :(得分:0)

row_number在视图中正常工作。设计人员只处理有限的语法。

但它不保证视图中select的任何特定顺序。为此,您需要在外部查询中订购。

要注意的一个问题是,如果您在分区列won't be pushed down上有partition by参数化谓词,即使这样做效率更高。因此,可能首选参数化内联表值函数。