1.浣跨敤浠ヤ笅璇彞錛屼絾鏁堢巼鍙兘瑕侀檷浣庝竴浜?br /> select * from 琛ㄥ悕 b, (select top 10 涓婚敭瀛楁,鎺掑簭瀛楁 from (select top 20 涓婚敭瀛楁,鎺掑簭瀛楁 from 琛ㄥ悕 order by 鎺掑簭瀛楁 desc) a order by 鎺掑簭瀛楁 ) c where b.涓婚敭瀛楁 = c.涓婚敭瀛楁 order by c.鎺掑簭瀛楁 desc
2.鍦╝do閲屽鐞?灝嗚褰曢泦娓告爣縐誨埌鏈鍚庯紝鐒跺悗鍓嶇Щ
''浠ヤ笅涓篴sp鑼冧緥
set rsTemp = Server.CreateObject("adodb.recordset")
rsTemp.Open 璇彞,conn,1,1
rsTemp.MoveLast
for i = 1 to rsTemp.RecordCount
聽聽聽聽 '鍙栧?...
聽聽聽 rsTemp.MovePrevious
next
聽
緇忔祴璇曪紝浠ヤ笂鍒嗛〉鏂規硶姣斾嬌鐢ㄤ復鏃惰〃鍒嗛〉閫熷害榪樿蹇紝騫朵笖綆鍗曟槗鐢?
鏂規硶浜岋細
澶ф暟鎹噺涓嬬殑鍒嗛〉
聽聽聽 瀵逛簬闈炲父澶х殑鏁版嵁妯″瀷鑰岃█錛屽垎欏墊绱㈡椂錛屾瘡嬈¢兘鍔犺澆鏁翠釜鏁版嵁婧愰潪甯告氮璐廣傞氬父鐨勯夋嫨鏄绱㈤〉闈㈠ぇ灝忕殑鍧楀尯鐨勬暟鎹紝鑰岄潪媯绱㈡墍鏈夌殑鏁版嵁錛岀劧鍚庡崟姝ユ墽琛屽綋鍓嶈銆?br /> 聽聽聽 鏈枃婕旂ずASP.net鐨凞ataGrid鍜孲ql Server 瀹炵幇澶ф暟鎹噺涓嬬殑鍒嗛〉錛屼負浜嗕究浜庡疄鐜版紨紺猴紝鏁版嵁琛ㄩ噰鐢ㄤ簡Northwind鏁版嵁搴撶殑Orders琛紙830鏉¤褰曪級銆?br /> 聽聽聽 濡傛灉鏁版嵁琛ㄤ腑鏈夊敮涓鐨勮嚜澧炵儲寮曪紝騫朵笖榪欎釜瀛楁娌℃湁鍑虹幇鏂彿鐜拌薄銆傛绱㈤〉闈㈠ぇ灝忕殑鍧楀尯鏁版嵁灝遍潪甯哥畝鍗曚簡銆傞氳繃綆鍗曠殑Sql璇彞灝卞彲浠ュ疄鐜拌繖涓姛鑳斤細
聽聽聽 select * from orders where orderid between 10248 and 10253
聽聽聽 褰撶劧錛屽鏋滆繖涓瓧孌墊柇鍙蜂笉鏄緢涓ラ噸錛岃屼笖鍏佽涓嶆槸寰堜弗鏍肩殑鎸夌収姣忛〉鏉℃暟鍒嗛〉錛岃繖鏍風殑鏂規硶涔熸槸鍙互鐢ㄧ殑銆?br /> 聽聽聽 濡傛灉榪欎釜瀛楁鏂彿錛屾垨鑰呴渶瑕佹寜鐓у叾浠栨潯浠舵帓搴忓垎欏碉紝灝辮澶嶆潅浜涗簡銆傞鍏堣鑾峰緱榪欎釜欏甸潰闇瑕佹樉紺虹殑緙栧彿錛岀劧鍚庡啀鎸夌収榪欎釜緙栧彿鑾峰緱闇瑕佺殑鍧楀尯鏁版嵁銆傛牴鎹紪鍙瘋幏寰楀潡鍖烘暟鎹緢綆鍗曘備笉榪囩敤涓嬮潰鏂瑰紡鑾峰緱鏁版嵁鎺掑簭騫朵笉鏄寜鐓ф寚瀹氱殑id鍒楄〃欏哄簭錛岃繖鏃跺欒繕瑕侀檮鍔爋rder by 鍛戒護銆?br /> select * from orders where orderid in (10248,10249,10250,10251,10252,10253) order by orderid desc
聽聽聽 鑾峰緱榪欎釜欏甸潰闇瑕佹樉紺虹殑緙栧彿鍒楄〃灝卞鏉傚浜嗭紝鑰屼笖鏈夊縐嶆柟妗堬細
鏂規涓錛氱淮鎶や竴涓〃錛岃繖涓〃璁板綍闇瑕佹樉紺虹殑榪欎簺緙栧彿鎺掑簭欏哄簭銆傦紙榪欎釜琛ㄥ彲浠ユ槸涓存椂琛紝涔熷彲浠ユ槸鐗╃悊琛級銆備笅闈㈡紨紺轟簡鍒╃敤涓涓叏灞涓存椂琛ㄣ傝繖涓叏灞涓存椂琛ㄨ褰曢渶瑕佹樉紺虹殑緙栧彿銆傛敞鎰忔帓搴忥紝榪欓噷鐨刼rder by 灝辨槸闇瑕佹樉紺虹殑鎺掑簭欏哄簭銆?br /> create table ##temptable(iid int IDENTITY (1, 1) NOT NULL,mainid int NOT NULL)insert ##temptable(mainid) select OrderID from orders order by OrderID descselect * from ##temptabledrop table ##temptable -- 瀹為檯鎵ц鏃跺欙紝鍒犻櫎鍏ㄩ儴涓存椂琛ㄥ綋鐒朵笉鍐嶈繖閲屾墽琛屻?br /> 榪欎釜涓存椂琛ㄥ瓨鍦紝鑾峰緱鎸囧畾鍒嗛〉鐨勫垎鍧楁暟鎹氨寰堢畝鍗曚簡銆傜湅涓嬮潰浠g爜錛?br /> create table ##temptable(iid int IDENTITY (1, 1) NOT NULL,mainid int NOT NULL)insert ##temptable(mainid) select OrderID from orders order by OrderID descdeclare @PageSize int,@CurrPage int,@strSQL varchar(2000),@IDStr varchar(1000)select @PageSize = 30select @CurrPage = 2select @IDStr = ''select @IDStr = @IDStr + ltrim(rtrim(str(MainID))) + ',' from ##temptable where iid between ((@CurrPage-1)*@PageSize+1) and @CurrPage*@PageSizeif @IDStr <> '' begin select @IDStr = left(@IDStr,len(@IDStr)-1)endselect @strSQL = 'select * from orders where OrderID in ('+@IDStr+')聽 order by OrderID desc 'exec(@strSQL)drop table ##temptable
SQL Server / Access 絳夊井杞駭鍝佷腑錛屾垜浠氬父鐨勮嚜瀹氫箟鍒嗛〉鏈変袱縐嶆濊礬錛?br /> 涓縐嶆槸浠?ASP.NET Forum 涓轟唬琛ㄧ殑銆佲滀復鏃惰〃鈥濇柟娉曪細鍗沖湪瀛樺偍榪囩▼涓緩绔嬩竴涓復鏃惰〃錛岃涓存椂琛ㄥ寘鍚竴涓簭鍙峰瓧孌碉紙1錛?錛?錛?...錛変互鍙婅〃鐨勪富閿紙鍏朵粬鑳藉鍞竴紜畾涓琛岃褰曠殑瀛楁涔熸槸鍙互鐨勶級瀛楁銆傚瓨鍌ㄨ繃紼嬪彲鑳藉涓嬶細錛堢紪鍙?SS1錛?br />CREATE Procedure GetAllArticles_Paged ( 聽聽聽聽 @PageIndex int, 聽聽聽聽 @PageSize int, 聽聽聽聽 @TotalRecords out int, 聽聽聽聽 @TotalPages out int ) AS
DECLARE @PageLowerBound int DECLARE @PageUpperBound int
-- Set the page bounds SET @PageLowerBound = @PageSize * @PageIndex SET @PageUpperBound = @PageLowerBound + @PageSize + 1
-- Create a temp table to store the select results CREATE TABLE #tmp ( 聽聽聽聽 RecNo int IDENTITY (1, 1) NOT NULL, 聽聽聽聽 ArticleID int )
INSERT INTO #tmp 聽聽聽聽 SELECT [ID] 聽聽聽聽 FROM Articles 聽聽聽聽 ORDER BY PubTime DESC
SELECT A.* FROM Articles A (nolock), #tmp T WHERE A.ID = T.ArticleID AND 聽聽聽聽 T.RecNo > @PageLowerBound AND 聽聽聽聽 T.RecNo < @PageUpperBound ORDER BY T.RecNo
GO
鍙︿竴縐嶅彲鑳芥洿閫傚悎紼嬪簭涓滄嫾鍑戔?SQL 璇彞錛氱敤涓ゆ TOP 鍛戒護鍙栧緱鎴戜滑鎵瑕佺殑鍒嗛〉鏁版嵁錛屼緥濡傦細錛堢紪鍙?SS2錛?br />SELECT * FROM 聽聽聽聽 ( 聽聽聽聽 SELECT TOP(PageSize) * FROM 聽聽聽聽 ( 聽聽聽聽聽聽聽聽聽 SELECT TOP (PageSize * PageIndex) * 聽聽聽聽聽聽聽聽聽 FROM Articles 聽聽聽聽聽聽聽聽聽 ORDER BY PubTime DESC 聽聽聽聽 ) 聽聽聽聽 ORDER BY PubTime ASC ) ORDER BY PubTime DESC
榪欎釜鐨勬兂娉曞氨鏄滄帎澶村幓灝鋸濓紝榪樻湁涓嶅皯鍒嗛〉鐨勬柟娉曪紝榪欓噷灝變笉涓涓鍒楀嚭浜嗐?br /> 瀵逛簬 Oracle 鏁版嵁搴擄紝鏈夊嚑澶勪笉鍚屼弗閲嶅Θ紕嶄簡涓婇潰鍑犱釜鏂規硶鐨勫疄鏂斤紝姣斿錛孫racle 涓嶆敮鎸?TOP 鍏抽敭瀛楋細涓嶈繃榪欎釜濂藉儚騫朵笉鍗佸垎涓ラ噸錛屽洜涓哄畠鎻愪緵浜?rownum 榪欎釜闅愬紡娓告爣錛屽彲浠ュ疄鐜頒笌 TOP 綾諱技鐨勫姛鑳斤紝濡傦細 SELECT TOP 10 ... FROM WHERE ...
瑕佸啓鎴?br />SELECT ... FROM ... WHERE ... AND rownum <= 10
rownum 鏄褰曞簭鍙鳳紙1錛?錛?...錛夛紝浣嗘湁涓涓瘮杈冮夯鐑︾殑浜嬫儏鏄細濡傛灉 SQL 璇彞涓湁 ORDER BY ... 鎺掑簭鐨勬椂鍊欙紝rownum 灞呯劧鏄厛鈥滄爣鍙封濆悗鎺掑簭錛佽繖鏍鳳紝榪欎釜搴忓彿濡傛灉涓嶅姞澶勭悊鏄笉鍚堜箮浣跨敤闇姹傜殑銆?br /> 鑷充簬涓存椂琛紝Oracle 鐨勪復鏃惰〃鍜?SQL Server 鐨勬湁寰堝ぇ涓嶅悓錛屾垜榪樻病鎼炴噦榪欎釜涓滆タ錛屽氨涓嶅鍔犳彛嫻嬩簡銆?br /> 鍥藉唴緗戠珯涓粙緇?Oracle 鍒嗛〉鐨勮祫鏂欏緢灝戯紝鎴戞壘鍒頒簡涓涓浗澶栫珯鐐癸紙www.faqts.com錛夌殑涓綃?FAQ錛屾牴鎹繖綃囨枃绔犵殑浠嬬粛錛屽彲浠ュ涓嬪垎欏碉細錛堢紪鍙?Ora1錛?br />SELECT * FROM 聽聽聽聽 ( 聽聽聽聽 SELECT A.*, rownum r 聽聽聽聽 FROM 聽聽聽聽聽聽聽聽聽 ( 聽聽聽聽聽聽聽聽聽 SELECT * 聽聽聽聽聽聽聽聽聽 FROM Articles 聽聽聽聽聽聽聽聽聽 ORDER BY PubTime DESC 聽聽聽聽聽聽聽聽聽 ) A 聽聽聽聽 WHERE rownum <= PageUpperBound 聽聽聽聽 ) B WHERE r > PageLowerBound;