У меня есть следующий виртуальный столбец, сгенерированный из совокупности по отсортированному разделу,
MIN(picture_id) OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
Однако, когда я выполняю это, я получаю следующее.
Msg 11305, Level 15, State 10, Line 12
The Parallel Data Warehouse (PDW) features are not enabled.
Вот где это становится интересным, хотя, без порядка сортировки на разделе, это работает:
MIN(picture_id) OVER ( PARTITION BY [360_set] )
И, кроме того, ROW_NUMBER()
оконная функция (не агрегатная функция) работает с явным порядком в разделе.
ROW_NUMBER() OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
Почему желаемое утверждение не работает? Где это задокументировано? Информация о версии была запрошена, это то, что я в справке → О.
Microsoft SQL Server Management Studio 10.0.5512.0
Microsoft Analysis Services Client Tools 10.0.5500.0
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 9.10.9200.16635
Microsoft .NET Framework 2.0.50727.5472
Operating System 6.1.7601
Результат от SELECT @@VERSION
ISMicrosoft SQL Server 2008 (SP3) - 10.0.5512.0 (X64) Aug 22 2012 19:25:47 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM)
[360_set]
, или эта часть не имеет значения? Кроме того, из вашего комментария формула, которую вы дали, работает, как текстовое описание, только если в последовательности нет пробелов. Какой ты хочешь?
MIN
работу, но оно меняет строки в кадре, над которым MIN
выполняется.
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
. Таким образом, окно содержит только значения со picture_id
значениями, меньшими или равными значению в текущей строке.