På SQL Server 2005 mener jeg det findes en mulighed for at få rownum med. Hunsker ikke helt funktionen, men i så fald ville det nok være mulighed for at lave en where på denne.
LIMIT blev lavet i MySQL fordi den ikke understøtted den "advanceret" corsor/pointer type, som er i de andre database. LIMIT er derfor noget man normalt kan klarer gennem sit programmeringssprog i stedet for SQL.
Det er f.eks det der bruges i "paging" funktioner (se f.eks ASP kategorien)
Workaroundet er som lorentsnv (og arne_v) er inde på.
Cursors sucks. Og er efter min mening et levn fra embedded SQL i Cobol.
Der er et andet problem med LIMIT.
SELECT * FROM t ORDER BY f LIMIT 0,10 SELECT * FROM t ORDER BY f LIMIT 10,10 SELECT * FROM t ORDER BY f LIMIT 20,10
er ikke paa nogen maade garanteret at returnere de foerste 30 raekker paa et tidspunkt. Hvis der indsaettes eller slettes raekker imellem saa kan man faa nogle spoejse resultater.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.