НОМЕР ROW() OVER
Я столкнулся с некоторым особым синтаксисом, не могли бы вы понять, что это значит? Спасибо.
SELECT ROW NUMBER() OVER (ORDER BY Product.ProductID) FROM Product;
Кроме того, это не удается.
Меня особенно интересует бит ROW NUMBER() OVER
. Это первый раз, когда я столкнулся с ключевым словом OVER.
Пожалуйста, дайте мне знать, если вам нужен полный пример. Я немного сократил это ради ясности.
Ответы
Ответ 1
Для функции ROW_NUMBER() требуется выражение OVER (ORDER BY) для определения порядка нумерации строк. Порядок по умолчанию - восходящий, но по убыванию также можно использовать. Эта функция полезна для множества вещей, таких как отслеживание строк при повторении через набор записей, поскольку T-SQL не позволяет извлекать курсор за пределами T-SQL.
@tunimise fasipe верен, вам не хватает _
Ответ 2
Обратите внимание, что у вас отсутствует символ подчеркивания в ROW_NUMBER
SELECT ROW_NUMBER() OVER (ORDER BY Products.ProductID) FROM Products;
Что он делает, так это то, что он печатает номер строки каждой записи в таблице продуктов в том порядке, в котором они были получены (как указано в ProductID)
e.g.
RowNumber ProductName
------------------------
1 Flower
2 Bag
3 Car
... ...
Я добавил столбец ProductName для ясности