LIMIT(od,do) v MSSQLHodně 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)

Komentáře   

Guest
-10 #1 Guest 2008-10-20 12:37
A co treba uvest zdroj?? http://www.select-sql.com/mssql/how-to-make-limit-from-to-in-mssql-2005.html
Stanislav Duben
+8 #2 Stanislav Duben 2008-10-20 15:20
Dekuji za komentar, ktery me trosku pobavil. Zdroje samozrejme uvadim, ale preci nebudu odkazovat sam na sebe. Podivejte se prosim na jmeno autora clanku, ktery tu ukazujete, ze mam uvest jako zdroj.

Přidat komentář


Bezpečnostní kód
Obnovit