[問題] 上一頁/下一頁之SQL探討?

看板C_Sharp作者 (Tomex Ou)時間17年前 (2008/06/19 20:26), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/4 (看更多)
ASP.NET網頁設計裏, 原以為觀看detail資料的下方有個上一頁/下一頁很簡單 發現ASP.NET的Paper都是丟所有資料Datable 我嫌這樣資料量太大(畢竟只有1筆而己) 改用手寫下sql方式。 以為多下兩道大於或小於該key值的sql就好 但是考量此上/下頁的順序, 是根據前頁資料列表的排序規則(可能多欄排序) 細想之下,發現真的不簡單... 因為sql表中的資料並不一定連續。 請問該如何在不查詢所有資料下 得到指定筆項目的上/下筆資料呢? 難道最終仍是得把所有資料取出嗎? 不甘心呀!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.5.194

06/19 20:29, , 1F
SQL2005 有 ROW_NUMBER 可以用(網路文章蠻多的)
06/19 20:29, 1F
※ 編輯: tomex 來自: 122.146.5.194 (06/19 20:29)

06/19 20:31, , 2F
row_number並無法解決上述排序的問題,因為不能全取下來
06/19 20:31, 2F

06/19 20:37, , 3F
我的問題通常都不簡單的,細想之下就能明白所指的困難之處。
06/19 20:37, 3F

06/19 21:31, , 4F
row_number裡面按照得你的排序不就可以了
06/19 21:31, 4F

06/19 21:31, , 5F
跟連不連續有什麼關係?.....不太懂..
06/19 21:31, 5F

06/19 21:38, , 6F
資料的排序得依前頁的grid列表排序,至detail頁就被限制住了
06/19 21:38, 6F

06/19 21:39, , 7F
前提是不取回row_number及所有key資料,sql中怎得知呢?
06/19 21:39, 7F
文章代碼(AID): #18Mb2BD4 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #18Mb2BD4 (C_Sharp)