赞
踩
写法一
- SELECT *
- FROM (
- SELECT
- *,
- ROW_NUMBER() OVER (ORDER BY id) AS rowNumber
- FROM
- 表名 AS t1
- LEFT JOIN
- 表二 AS t2 ON t1.连接字段 = t2.连接字段
- LEFT JOIN
- 表三 AS t3 ON t1.另一个连接字段 = t3.另一个连接字段
- WHERE
- 条件 -- 这里替换为您的筛选条件
- ) AS subQuery
- WHERE
- rowNumber BETWEEN @pageFirst AND @pageEnd;
写法二
- DECLARE @PageIndex INT = 2; -- 当前页码
- DECLARE @PageSize INT = 10; -- 每页记录数
-
- SELECT
- u.UserId,
- u.UserName,
- o.OrderId,
- o.OrderDate,
- o.OrderAmount,
- d.DetailId, -- 假设 OrderDetails 表有一个 DetailId 列
- d.DetailDescription -- 假设 OrderDetails 表有一个 DetailDescription 列
- FROM
- Users u
- JOIN
- Orders o ON u.UserId = o.UserId
- JOIN
- OrderDetails d ON o.OrderId = d.OrderId -- 假设 OrderDetails 通过 OrderId 与 Orders 表连接
- WHERE
- u.UserName LIKE '%John%' -- 筛选条件:用户名包含 "John"
- ORDER BY
- u.UserId -- 根据 UserId 排序
- OFFSET (@PageIndex - 1) * @PageSize ROWS -- 跳过指定数量的记录以实现分页
- FETCH NEXT @PageSize ROWS ONLY; -- 获取指定数量的记录作为当前页的数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。