Eu tenho a seguinte coluna virtual gerada a partir de um agregado em uma partição classificada,
MIN(picture_id) OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
No entanto, quando executo isso, recebo o seguinte.
Msg 11305, Level 15, State 10, Line 12
The Parallel Data Warehouse (PDW) features are not enabled.
É aqui que fica interessante, sem uma ordem de classificação na partição, ele funciona:
MIN(picture_id) OVER ( PARTITION BY [360_set] )
Além disso, ROW_NUMBER()
uma função de janela (não uma função agregada) funciona com uma ordem explícita na partição.
ROW_NUMBER() OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
Como é que a declaração desejada não funciona? Onde isso está documentado? As informações da versão foram solicitadas, é isso que eu em Ajuda → Sobre.
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
O resultado de SELECT @@VERSION
éMicrosoft 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]
, ou essa parte é irrelevante? Além disso, a partir do seu comentário, a fórmula que você forneceu funciona apenas como a descrição do texto se não houver lacunas na sequência. Qual você quer?
MIN
funciona, é claro, mas altera as linhas no quadro sobre as quais MIN
é executada.
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
. Portanto, a janela inclui apenas valores com picture_id
valores menores ou iguais aos da linha atual.