Query Select range record

giovedì 14 giugno 2007 - 17.47

valerik Profilo | Junior Member

Ciao a tutti e' possibile fare una select tra un determinato range di record
Ossia, se volessi visualizzare i primi 10 record potrei fare SELECT top 10......
ma se volessi visualizzare soltanto i record tra 20 e 30?E' possibile? Grazie a tutti. Ciao

Dimenticavo,...uso sqlserver 2005
valerik


alx_81 Profilo | Guru

>Ciao a tutti e' possibile fare una select tra un determinato
>range di record
>Ossia, se volessi visualizzare i primi 10 record potrei fare
>SELECT top 10......
>ma se volessi visualizzare soltanto i record tra 20 e 30?E' possibile?
>Grazie a tutti. Ciao

Siccome usi SQL Server 2005, una buona tecnica è quella delle CTE..

-- variabili d'esempio DECLARE @StartRowIndex int, @PageSize int SET @StartRowIndex = 19 SET @PageSize = 10 WITH Paging AS( SELECT RowNumber = ROW_NUMBER() OVER (ORDER BY [chiave]) -- segno i record con il progressivo di riga ,* FROM [Tabella] WHERE <Where condition> ) SELECT * FROM Paging WHERE RowNumber BETWEEN (@StartRowIndex + 1) AND (@StartRowIndex + @PageSize)
Alx81 =)

http://blogs.dotnethell.it/suxstellino

valerik Profilo | Junior Member

Perfetto , Grazie
valerik
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5