【发布时间】:2012-10-09 04:18:33
【问题描述】:
我有一个类似条件的查询,它返回大约 1500 行。现在我想知道如何逐部分获取行,例如返回 75 行,然后再次返回接下来的 75 行,直到到达行的末尾。我知道我可以使用类似SELECT TOP 75
我尝试了类似的方法,但它没有返回任何行
SELECT *
FROM
(SELECT ROW_NUMBER() OVER (ORDER BY WarehouseSubType.id) as row,
WarehouseSubType.id,
WarehouseType.name as WarehouseTypename,
WarehouseType.alternateName AS WarehouseTypealternateName,
WarehouseSubType.name AS WarehouseSubTypename,
Warehouse.alternateName AS WarehousealternateName,
WarehouseSubType.alternateName AS WarehouseSubTypealternateName,
WarehouseSubType1.name AS WarehouseSubType1name,
WarehouseSubType1.alternateName AS WarehouseSubType1alternateName,
Warehouse.alternateName AS Warehousename,
Branch.name AS Branchname,
Branch.alternateName AS BranchalternateName,
WarehouseProductQuantity.actualQuantity,
WarehouseProductQuantity.reservedQuantity,
Supplier.companyName,
Supplier.companyNameAlternate,
Tafsil.description,
Tafsil.alternateDescription,
(WarehouseProductQuantity.actualQuantity - WarehouseProductQuantity.reservedQuantity) AS quantity
FROM WarehouseSubType
INNER JOIN WarehouseType ON (WarehouseSubType.warehouseTypeId = WarehouseType.id)
INNER JOIN WarehouseSubType1 ON (WarehouseSubType.id = WarehouseSubType1.warehouseSubTypeId)
) a
WHERE
warehouseTypename like '%Ve%'
AND row > 0 and row < 75
【问题讨论】:
-
@ShawnSteward 事实上我已经使用了,但没有返回任何记录
-
什么版本的 SQL?如果是 2012 年则有分页运营商
-
@PeteCarter 我正在使用 mssql 2008
-
@ZAJ:如果它没有返回任何记录,那么你的情况就没有任何记录......
标签: sql-server-2008