Che query devo fare per selezionare i primi, secondi, terzi 50 record??
Che query devo fare per selezionare i primi, secondi, terzi 50 record??
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
Ovviamente dovrai avere un criterio per ordinarli
Immaginiamo sia un ID numerico...
SELECT TOP 50 * FROM Tabella ORDER BY ID
Per ottenere i secondi 50 potresti fare
SELECT TOP 50 FROM Tabella WHERE ID NOT IN ( SELECT TOP 50 ID FROM Table ORDER BY ID ) ORDER BY ID
per i terzi...
SELECT TOP 50 FROM Tabella WHERE ID NOT IN ( SELECT TOP 100 ID FROM Table ORDER BY ID ) ORDER BY ID
e così via...
Che soluzione...
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
Si potrebbe anche fare un cosa così
in cui <valore_da_cui_partire> lo decidi di volta in voltacodice:SET ROWCOUNT 50 SELECT * FROM tabella WHERE campo_ordine >= valore_da_cui_partire SET ROWCOUNT 0
Si potrebbe anche creare una SP.
![]()
Molto carino, non lo conoscevo![]()
il fatto è che <valore_da_cui_partire> non ha alcuna attinenza col numero di record...Originariamente inviato da gibra
Si potrebbe anche fare un cosa così
in cui <valore_da_cui_partire> lo decidi di volta in voltacodice:SET ROWCOUNT 50 SELECT * FROM tabella WHERE campo_ordine >= valore_da_cui_partire SET ROWCOUNT 0
Si potrebbe anche creare una SP.
![]()
Ma potrebbe averlo.Originariamente inviato da optime
il fatto è che <valore_da_cui_partire> non ha alcuna attinenza col numero di record...
E' solo uno spunto che ho buttato lì, che potrebbe essere un punto di partenza e quindi andrebbe ulteriormente 'approfondito' in base allo scenario.
Se ad esempio dovesse 'paginare' i record in una pagina web sarebbe utile una SP cui passando i parametri del primo e ultimo valore del campo, sfruttando (se esiste) un campo-ordinamento oppure creandone uno nuovo, oppure un tabella temporanea, etc...
Comunque è inutile approfondire la questione se non si conosce lo scenario in primis:
quanti record sono in gioco e dove risiede il database.
![]()
e difatti l'articolo che ho postato sfrutta la ri-numerazione dei record per la paginazione