Limit in SQL Server 2012
Updated at: 14/07/2014


Per eseguire una query che abbia il concetto del limit (di MySql) in SQL Server, è necessario avere la versione 2012 (o successive) - a meno di voler scrivere tante (troppe) query annidiate e scomode da gestire. Queste sono le due query a confronto. MySQL:
SELECT * FROM tabella LIMIT 10,20
MSSQL:
SELECT * FROM tabella ORDER BY 1 OFFSET 10 ROWS FETCH NEXT 20 ROWS ONLY
Importante: affinché funzioni la query in MSSQL è necessario specificare una clausola di ordinamento, quindi non sapendo né leggere né scrivere ho messo 1, ovvero la prima colonna, ma ovviamente si può mettere quel che si vuole con la "direzione" desiderata. Entrambe le query restituiscono 20 risultati a partire dalla decima posizione in avanti