11

やや特殊な構文に出くわしましたが、それが何を意味するのか理解するのを手伝ってもらえますか?ありがとうございました。

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

また、これは失敗します。私は特にROW NUMBER() OVER少し興味があります。OVERキーワードにも出会ったのは初めてです。

完全な例が必要な場合はお知らせください。わかりやすくするために少し短くしました。

4

2 に答える 2

10

ROW_NUMBER()関数では、行に番号が付けられる順序を決定するためにOVER(ORDER BY)式が必要です。デフォルトの順序は昇順ですが、降順も使用できます。この関数は、レコードのセットを反復処理するときに行を追跡するなど、さまざまな場合に役立ちます。これは、T-SQLではT-SQLの外部でカーソルを取得できないためです。@tunimise fasipeは正しいです、あなたは_を逃しています

于 2012-05-30T01:24:42.570 に答える
7

ROW_NUMBERにアンダースコアがないことに注意してください

SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) FROM Products;

これは、製品テーブルの各レコードの行番号を、取得された順序で(ProductIDの順序で)出力することです。

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

わかりやすくするためにProductName列を追加しました

于 2012-05-30T00:12:37.273 に答える