他のサンプルデータでこれを試してみて、それが動作していないため、そのサンプルデータを投稿してください。
DECLARE @Pageindex INT = 1 -- this is parameter that need to be pass in proc
DECLARE @Pagesize INT = 3 -- this is not parameter.it is inside proc
DECLARE @t TABLE (
NAME VARCHAR(50),addres VARCHAR(50)
,ward VARCHAR(50),mobile VARCHAR(50))
INSERT INTO @t
VALUES
('A ','00 ',1,'9890') ,('B ','01 ',1,'9890')
,('C ','01 ',1,'9890'),('A1 ','10 ',1,'9890')
,('B1 ','101',1,'9890') ,('B ','01 ',1,'9890')
,('[email protected] ','00 ',1,'9890') ,('B# ','01 ',1,'9890')
,('C^ ','01 ',1,'9890') ,('A11','10 ',1,'9890')
,('B11','101',1,'9890') ,('B11','01 ',2,'9890')
,('A22','10',2,'9890'),('B21','101 ',2,'9890')
,('B12','01 ',2,'9890') ,('ak1','10',4,'9890')
,('Bmm','01 ',4,'9890'),('B13','01 ',4,'9890')
;WITH CTE
AS (
SELECT *
--,DENSE_RANK()over(order by ward) rownum
,ROW_NUMBER() OVER (
ORDER BY ward
) rownum2
FROM @t
)
,CTE1
AS (
SELECT *
,CASE
WHEN (rownum2 % @Pagesize) = 0
THEN (rownum2/cast(@Pagesize AS FLOAT))
ELSE CEILING((rownum2/cast(@Pagesize AS FLOAT)))
END PageIndex
FROM cte c
)
SELECT NAME
,addres
,ward
,mobile
,PageIndex
FROM cte1
質問を適切に入力してください。あなたのテーブルを理解することは難しいです。 –
あなたの入力データと予想される出力を表示するように編集してください。あなたの説明は分かりません。 –
添付の画像をご確認ください –