ROW_NUMBER()过了

时间:2012-05-29 23:57:03

标签: sql-server tsql

我遇到了一个有点特殊的语法,你能帮我找出它的含义吗?谢谢。

SELECT ROW NUMBER() OVER (ORDER BY Product.ProductID) FROM Product;

此外,这也失败了。 我对ROW NUMBER() OVER位特别感兴趣。这是我第一次遇到OVER关键字。

如果您需要完整的示例,请告诉我。为了清楚起见,我稍微缩短了一点。

2 个答案:

答案 0 :(得分:9)

ROW_NUMBER()函数需要OVER(ORDER BY)表达式来确定行的编号顺序。默认顺序为升序,但也可以使用降序。由于T-SQL不允许在T-SQL之外检索游标,因此该函数对于在迭代一组记录时跟踪行等各种事情非常有用。 @tunimise fasipe是正确的,你错过了_

答案 1 :(得分:6)

请注意,您在ROW_NUMBER

中缺少下划线
SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) FROM Products;

它的作用是按照检索顺序打印出产品表中每条记录的行号(按ProductID排序)

e.g.
RowNumber   ProductName
------------------------
1           Flower
2           Bag
3           Car
...         ...

为了清晰起见,我添加了ProductName列