Technik

LIMIT x,y in T-SQL?

Wer kennt nicht das Problem, Daten Seitenweise aus der Datenbank zu laden. MySQL kann das auch sehr schön mit einem beherzten LIMIT x,y, aber wenn man nun an einem Microsoft SQL Server sitzt und nur T-SQL hat?

Dagegen hilft nur der folgender Code Schnitzel:

SELECT * FROM
    SELECT TOP x * FROM (
        SELECT TOP y fields
        FROM table
        WHERE conditions
        ORDER BY table.field  ASC) as foo
    ORDER by field DESC) as bar
ORDER by field ASC