作者tomex (Tomex Ou)
看板C_Sharp
標題[問題] 上一頁/下一頁之SQL探討?
時間Thu Jun 19 20:26:49 2008
ASP.NET網頁設計裏,
原以為觀看detail資料的下方有個上一頁/下一頁很簡單
發現ASP.NET的Paper都是丟所有資料Datable
我嫌這樣資料量太大(畢竟只有1筆而己)
改用手寫下sql方式。
以為多下兩道大於或小於該key值的sql就好
但是考量此上/下頁的順序,
是根據前頁資料列表的排序規則(可能多欄排序)
細想之下,發現真的不簡單...
因為sql表中的資料並不一定連續。
請問該如何在不查詢所有資料下
得到指定筆項目的上/下筆資料呢?
難道最終仍是得把所有資料取出嗎?
不甘心呀!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.5.194
1F:推 teyou:SQL2005 有 ROW_NUMBER 可以用(網路文章蠻多的) 06/19 20:29
※ 編輯: tomex 來自: 122.146.5.194 (06/19 20:29)
2F:→ tomex:row_number並無法解決上述排序的問題,因為不能全取下來 06/19 20:31
3F:→ tomex:我的問題通常都不簡單的,細想之下就能明白所指的困難之處。 06/19 20:37
4F:推 casearchu:row_number裡面按照得你的排序不就可以了 06/19 21:31
5F:→ casearchu:跟連不連續有什麼關係?.....不太懂.. 06/19 21:31
6F:→ tomex:資料的排序得依前頁的grid列表排序,至detail頁就被限制住了 06/19 21:38
7F:→ tomex:前提是不取回row_number及所有key資料,sql中怎得知呢? 06/19 21:39