Saya memiliki kolom virtual berikut yang dihasilkan dari agregat di atas partisi yang diurutkan,
MIN(picture_id) OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
Namun, ketika saya mengeksekusi itu, saya mendapatkan yang berikut.
Msg 11305, Level 15, State 10, Line 12
The Parallel Data Warehouse (PDW) features are not enabled.
Di sinilah ia menjadi menarik, tanpa urutan di partisi, ia berfungsi:
MIN(picture_id) OVER ( PARTITION BY [360_set] )
Dan, lebih jauh, ROW_NUMBER()
fungsi jendela (bukan fungsi agregat) bekerja dengan urutan eksplisit pada partisi.
ROW_NUMBER() OVER ( PARTITION BY [360_set] ORDER BY picture_id ASC )
Kenapa pernyataan yang diinginkan tidak berhasil? Di mana ini didokumentasikan? Informasi versi diminta, inilah yang saya dalam Bantuan → Tentang.
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
Hasil dari 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]
, atau bagian itu tidak relevan? Juga, dari komentar Anda, rumus yang Anda berikan hanya berfungsi seperti deskripsi teks jika tidak ada kesenjangan dalam urutan. Yang kamu inginkan
MIN
kerjanya tentu saja, tetapi itu mengubah baris dalam bingkai yang MIN
dilakukan.
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
. Jadi jendela hanya menyertakan nilai dengan picture_id
nilai kurang dari atau sama dengan yang ada di baris saat ini.