ROW NUMBER()OVER

Ann*_*a T 11 t-sql sql-server

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

SELECT ROW NUMBER() OVER (ORDER BY Product.ProductID) FROM Product;
Run Code Online (Sandbox Code Playgroud)

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

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

Dyl*_*gte 9

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


cod*_*biz 6

请注意,您在ROW_NUMBER中缺少下划线

SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) FROM Products;
Run Code Online (Sandbox Code Playgroud)

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

e.g.
RowNumber   ProductName
------------------------
1           Flower
2           Bag
3           Car
...         ...
Run Code Online (Sandbox Code Playgroud)

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