関数を使用ROW_NUMBER()
して、データベーステーブルから50x50のアイテムを取得します。
@From
パラメータは、50行の取得を開始する行です。(初めて51,101,151などが1になります。)ストアドプロシージャに
パラメータを渡します。@CityId
データベースの最初の60行が行61にある場合cityId=1
、cityId = 2
このストアドプロシージャは結果を返しません。
しかし、@ Fromパラメーター51を渡すと、結果が返されます。私がここで何を間違えたのですか?
SELECT RowConstrainedResult.*
FROM ( SELECT ROW_NUMBER() OVER
( ORDER BY f.ItemCreatedOnDate DESC ) AS RowNum,
f.*
FROM (
SELECT
t.ItemIdId,
t.ItemTypeId,
t.CreatedOnDate as ItemCreatedOnDate,
t.CityId as CityId
FROM dbo.Items as t
) f) AS RowConstrainedResult
WHERE RowNum >= @From
AND RowNum < @From + 50
AND CityId = @CityId