SQL Server 2012 supports the ANSI OFFSET / FETCH standard. I reported this and here is an official document (this is an extension to ORDER BY ). Your syntax converted for SQL Server 2012 will look like this:
SELECT ID, Name, Price, Image FROM Products ORDER BY ID ASC OFFSET (@start_from - 1) ROWS
Before that, you need to use various workarounds, including the ROW_NUMBER() method. See this article and discussion. If you are not using SQL Server 2012, you cannot use the standard syntax or MySQL non-standard LIMIT , but you can use a more detailed solution, for example:
;WITH o AS ( SELECT TOP ((@start_from - 1) + @items_on_page)
There are many other ways to trick this cat, it is unlikely to be the most efficient, but the syntax is probably the easiest. I suggest considering the links that I posted, as well as the duplicate suggestions noted in the comments to the question.
source share