다른 샘플 데이터로이 시도하고 그것이 작동하지 않는 동안 그 샘플 데이터를 게시 할 수 있습니다.
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
질문의 형식을 올바르게 지정하십시오. 당신의 테이블을 이해하기가 어렵습니다. –
입력 데이터와 예상 출력을 표시하도록 편집하십시오. 설명을 이해하기 어렵습니다. –
첨부 된 이미지를 확인하십시오 –