In sql server come faccio a selezionare un range risultati ? In mysql è così facile basta utilizzare limit!!!
In sql server come faccio a selezionare un range risultati ? In mysql è così facile basta utilizzare limit!!!
Select Top 10 * From Tabella
Si ok, ma se volessi i dati dal 10 al 20?
Non credo ci sia un'istruzione. Dovresti chiedere a Gioba66 che è esperto di SqlServer. Probabilmente devi fare una SP.
pensavo a una cosa del genere:
SELECT TOP 20 *
FROM Table T1
WHERE T1.Col1 NOT IN (SELECT TOP 10 Col1 FROM Table)
ma non funziona mi dice:
Se una subquery non è introdotta da EXISTS, nell'elenco di selezione è possibile specificare una sola espressione.
Ti restituirà sempre 20 records.
Forse così
SELECT TOP 10 * FROM (
SELECT TOP 20 *
FROM Table T1
WHERE NOT T1.Col1 IN (SELECT TOP 10 Col1 FROM Table)
) AS T2
con ss 2005 l'estrazione di dati è agevolata dalla CTE, per le versioni precedenti o usi i cursori del recordset dopo aver estratto tutti i dati o usi le subquery come in questo esempio
xxx
![]()
Hai ragione...
Ma possibile che non vi sia una soluzione semplice ad un quesito tanto banale? In pratica devo fare un navigatore che linka delle pagine con 10 risultati ognuna.
Pagina 1 : primi 10 risultati
Pagina 2 : risultati da 11 a 20
etc etc.
La soluzione semplice è in asp.
Salti i primi n records con Rs.Move
eh lo so ma non vorrei appesantire il codice con dei records inutili.
Si appesantisce tanto?![]()