下面語法在處理分頁的程式上很重要筆記筆記~
【ROW_NUMBER()】
利用ROW_NUMBER(),建立一個新表格,再針對新表格查詢NewRow,
由程式控制分頁數
SELECT NewTable.*
FROM (SELECT ROW_NUMBER() OVER(ORDER BY ACPT_VOU_NO) AS NewRow
,ACPT_VOU_NO,ACPT_VOU_TYPE,CASH_AMT
FROM AC_ACPT_M
WHERE COMPANY_ID = 'PT') AS NewTable
WHERE NewRow>= 1 AND NewRow<= 40
【NOT IN】
利用NOT IN和 TOP 來排除最前面的資料,達成可查詢中間的資料,
但小弟比較偏好第一種寫法,好程序性也直接
SELECT TOP 5 ACPT_VOU_NO,ACPT_VOU_TYPE,CASH_AMT
FROM AC_ACPT_M AS QQ
WHERE QQ.ACPT_VOU_NO NOT IN (SELECT TOP 5 ACPT_VOU_NO
FROM AC_ACPT_M
WHERE COMPANY_ID = 'PT'
ORDER BY ACPT_VOU_NO)
AND QQ.COMPANY_ID = 'PT'
ORDER BY QQ.ACPT_VOU_NO