SELECT OFFSET x ROWS FETCH NEXT y ROWS ONLY

Iedereen kent ‘TOP 1000‘, maar wist je ook dat je een sub-selectie kunt teruggeven?
Zo kun je op basis van ROW_NUMBER (of een ander attribuut) de (return-)dataset sorteren, het aantal records definiëren en opgeven vanaf welk record het moet beginnen met tellen:

SELECT
	ROW_NUMBER() OVER (ORDER BY [Id]) AS [RowNr]
	,[Id] AS [UserId]
FROM [litebit].[DIM_User] u
ORDER BY [RowNr] OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY

 

 

Soort van een Skip & Take mechanisme inderdaad!

Maar nu denk je: wanneer zou je dit gebruiken?
Nou…dit komt van pas bij Logic Apps, omdat zij een maximum van 100.000 records/loops hebben voor de ForEach:

 

 

Gezien we tegenwoordig als Data Engineer ook steeds vaker ‘integraties bouwen’, of in dit geval het uitwisselen van data, is dit een handigheidje om te kennen.

 

 

Nieuwsgierig naar de mogelijkheden binnen Azure en DevOps?
Neem dan contact met ons op: clint.huijbers@monkeyconsultancy.nl