-- * Pagination with Simple Query -- SELECT * FROM ( SELECT field1, field2, field 3, ROW_NUMBER() OVER (ORDER BY field1) AS RowNum FROM table1 ) AS Result WHERE Result.RowNum BETWEEN 1 AND 10For complex SQL
-- * Pagination with Complex Query -- SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY field1) AS RowNum FROM ( SELECT field1, field2, field3 FROM table1 UNION SELECT field1, field2, field3 FROM table2 UNION SELECT field1, field2, field3 FROM table3 ) AS UnionData) AS Result WHERE Result.RowNum BETWEEN 1 AND 10Is there a better approach for complex queries? Kindly advise, thanks.