12. červenec 2007
Jak udělat LIMIT (od,do) v MSSQL 2005
Hodně webových vývojářů si stěžuje, že Microsoft SQL neumí nějakou obdobu příkazu LIMIT (od,do), kterou má v sobě MySQL. Řešení samozřejmě šlo udělat pomocí SELECT TOP n a vnořeného SELECT TOP n už dříve. S novými přikazy T-SQL v SQL 2005 je ale situace ještě jednodušší.
Stačí použít tento kód, definovat @start jako hodnotu limit OD a @rowsperpage jako počet záznamů, které chceme.
DECLARE @rowsperpage INT
DECLARE @start INT
SET @start = 120000
SET @rowsperpage = 10
SELECT * FROM
(
SELECT row_number() OVER (ORDER BY sloupecek) AS rownum, sloupecek2, sloupecek3, .... sloupecekX
FROM tabulka
) AS A
WHERE A.rownum BETWEEN (@start) AND (@start + @rowsperpage)